python virtualenv虛擬環境配置與使用

来源:https://www.cnblogs.com/shouke/archive/2020/07/13/13291253.html
-Advertisement-
Play Games

python virtualenv虛擬環境配置與使用 By:賴富玉 QQ:1033553122 概述 python開發過程中,我們可能需要同時開發多款應用,這些應用可能公用同一個版本的Python程式,但是使用不同版本的第三方庫,比如A應用使用six 1.12.0,而B應用需要使用six 1.15. ...


python virtualenv虛擬環境配置與使用

By:賴富玉 QQ1033553122

概述

python開發過程中,我們可能需要同時開發多款應用,這些應用可能公用同一個版本的Python程式,但是使用不同版本的第三方庫,比如A應用使用six 1.12.0,而B應用需要使用six 1.15.0。這種情況下,virtualenv就派上用場了,它能為每個應用提供一套“相對獨立”的Python虛擬運行環境。

註意,這裡為啥是“相對獨立”而不是“絕對獨立”呢?針對一些.exe依賴程式,預設安裝時,不會安裝在虛擬環境中,安裝後為各個應用共用,參考網路資料說要改註冊表才可以。

 

虛擬環境配置與使用

測試環境

win10

python3.5

python3.6

virtualevn 20.0.23

虛擬環境配置

1.   安裝virtualenv

pip install virtualenv

說明:這裡的pip使用哪個python版本關聯的pip(如果系統有多個python版本),取決於你系統環境變數配置

安裝完後可以查看virtualenv.exe所在路徑

where virtualenv

 

 

 

 

說明:如上圖,實踐時發現,執行pip install virtualenv命令後,根據path系統環境變數能找到的所有python都裝上了virtualenv

安裝完後可以通過where查看virtualenv.exe所在路徑

 

在Python3.4之前,virtualenv需要獨立手動安裝後,方可執行。之後的版本中,Python自帶了一個venv庫,執行python –m venv就可以達到與virtalenv同樣的效果。更多的用戶習慣上還是使用virtualenv的方式。

下麵我安裝的是16.0.4版本的virtualenv。更高版本的下麵有一定說明,請註意區別。

2.   創建虛擬環境

創建一個總目錄,用於管理所有虛擬環境。

C:\Users\cassmall>cd /d d:

D:\>mkdir d:\PythonVirtualenvs

D:\>set path=D:\Program Files\Python35\Scripts\virtualenv.exe;%path%

D:\>virtualenv -p "D:\Program Files\Python35\python.exe" d:\PythonVirtualenvs\oldAutotestingPlatform

created virtual environment CPython3.5.4.final.0-64 in 1902ms

  creator CPython3Windows(dest=d:\PythonVirtualenvs\oldAutotestingPlatform, clear=False, global=False)

  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\cassmall\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1)

  activators FishActivator,BashActivator,BatchActivator,XonshActivator,PythonActivator,PowerShellActivator

 

選項說明:

-p: 指定你要虛擬的Python版本,如果python路徑帶空格,需要為路徑添加雙引號,否則會報類似錯誤:FileNotFoundError: [WinError 2] 系統找不到指定的文件

d:\PythonVirtualenvs\oldAutotestingPlatform:  單個虛擬環境的目錄路路徑(路徑格式推薦:總目錄路徑/以項目命名的目錄),這裡表示在PythonVirtualenvs該目錄下,建立一個名叫oldAutotestingPlatform的虛擬環境。

virtualenv的早些版本,還支持–-no-site-packages參數,用於控制建立虛擬環境時不將原版本中的第三方庫拷貝過來,以便獲得一個純凈的Python環境,最新版本中,去掉了該參數,預設直接使用–-no-site-packages模式。

更多選項參考官方資料。

 

查看創建結果

 

 

 

 

使用虛擬環境

命令行下,進入你要使用的虛擬環境的目錄下的script文件夾,運行activate命令。或者使用絕對路徑的方式調用該命令。

d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>activate.bat

(oldAutotestingPlatform) d:\PythonVirtualenvs\oldAutotestingPlatform\Scripts>

 

如上,如果命令執行成功,會出現提示符,本例中為(oldAutotestingPlatform)表示當前在oldAutotestingPlatform這個虛擬環境內,在該環境內進行的python相關操作(運行python命令,安裝python軟體包等,和在常規python環境中操作一樣,該怎麼操作還是怎麼操作),都被限制和綁定在該虛擬環境內(軟體包會被安裝到虛擬環境目錄下的Lib\site-packages中),不會對操作系統下本地的Python版本和其它的虛擬環境產生任何的影響。

 

退出虛擬環境

 

 

 

要退出虛擬環境,只要運行script目錄下的deactivate命令就可以了。

刪除虛擬環境

要刪除虛擬環境,直接刪除對應虛擬環境目錄就可以了

virtualenv配合Pycharm的使用

可以在Pycharm中指定虛擬環境的python解釋器,以便讓項目在虛擬環境中運行。做法如下:

File -> Settings -> Project:xxx(具體項目) -> Project Interpreter

 

 

 

 

 

 

 

 

 

選擇Add Local

 

 

 

 

選擇對應虛擬環境目錄下的Scripts\python.exe,如下,點擊Ok即可。

 

 

 

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 問題踩坑: 在使用layui的時候,通常引入一個layui.all.js,把他放到js文件夾下,在寫一些輸入框的時候,表單驗證的時候,提示彈窗顯示不出來 以下是代碼部分: <div class="layui-row"> <input type="text" name="phone" lay-veri ...
  • 推薦使用條件編譯,少用條件判斷 // @/utils/EPlatform.ts/**枚舉EPlatform*/ export enum EPlatform { /**App*/ AppPlus = 'APP-PLUS', /**App nvue*/ AppPlusNvue = 'APP-PLUS-N ...
  • JavaScript監聽組合按鍵 by:授客 QQ:1033553122 1. 思路 如圖,通過監聽並列印鍵盤keydown事件,得到圖示內容,觀察發現, 當按下的組合鍵包含Ctrl鍵時,ctrlKey鍵會顯示為true; 當按下的組合鍵包含Shift鍵、或者按鍵之前開啟大寫時,shiftkey鍵會 ...
  • 基於vue-codemirror實現的代碼編輯器 開發環境 jshint 2.11.1 jsonlint 1.6.3 script-loader 0.7.2 vue 2.6.11 vue-codemirror 4.0.6 element-ui 2.13.1 (使用到element-ui messag ...
  • 實現功能: 當滑動頁面時,奧運五環固定在中間。 涉及到的知識: 相對定位、絕對定位、固定定位、z-index、border-radius 關鍵知識點: 1、絕對定位和相對定位的區別: position: absolute; 脫離原來位置進行定位;定位的參照物是離自己最近的有定位的父級,參照最近的有定 ...
  • 函數防抖和節流都是對高頻動作觸發回調函數的一個優化,實現方式上有類似之處。先從使用場景做個區分。 防抖使用場景: 表單輸入框校驗 提交按鈕避免重覆提交 節流使用場景: scroll,mousemove,resize等 函數防抖(debounce) 表單輸入框校驗在用戶不停的打字輸入時並不需要向後臺校 ...
  • 前言 在4月21日晚,Vue作者尤雨溪在嗶哩嗶哩直播分享了Vue.js 3.0 Beta最新進展。 裡面尤大大所提到他最近在做的這個小工具 vite ,一個實驗性的no build的vue開發伺服器。(這個小工具可以支持熱更新,且不用預編譯) 一丶安裝 命令行複製以下 mkdir vue-vite  ...
  • 1 #include <stdio.h> 2 3 void createbtree(int *btree,int *data,int len) 4 { 5 int level; //樹的層數 6 int i; 7 8 btree[1] = data[1]; //創建根節點 9 for( i = 2; ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...