簡體   English   中英

如何創建一個空的python虛擬環境

[英]How to create an empty python virtual environment

使用 conda 創建新環境時,我們得到一個完全空的虛擬環境:

conda create --name=test
conda activate test
conda list

最后一個命令的輸出是一個空列表,甚至沒有安裝pip 我想用 python venv命令獲得相同的結果(或者至少有只安裝pip的“最小”虛擬環境)。 當我運行python -m venv test時,新環境包含“系統范圍”的所有可用包:

python -m venv test
source test/bin/activate
pip freeze

輸出一長串包。

根據文檔,該命令具有--system-site-packages參數,但它看起來默認處於啟用狀態,我找不到禁用它的方法。 我也嘗試過使用舊的 virtualenv --clear參數,但顯然它沒有被考慮在內。

編輯:

原來是環境模塊module命令干擾了 python 模塊( https://modules.readthedocs.io/en/latest/ )。 運行module purge pip freeze后返回空列表。

編輯:

嘗試以下操作:

$ python3 --version
Python 3.7.4

$ python3 -m venv test_venv

$ source ./test_venv/bin/activate

$ pip list

Package    Version
---------- -------
pip        19.0.3 
setuptools 40.8.0 
You are using pip version 19.0.3, however version 19.2.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
(test_venv) 

$ pip freeze
(test_venv) 

如果您安裝了virtualenv ,要創建一個沒有“系統范圍”pip 包的“新”虛擬環境,請嘗試以下操作:

# create new folder:
$ mkdir test_venv

# create virtual env:
$ virtualenv test_venv/

# activate virtual env:
$ source ./test_venv/bin/activate

# list packages in virtual env (test_venv):
$ pip list

Package    Version
---------- -------
pip        19.2.3 
setuptools 41.2.0 
wheel      0.33.6 
(test_venv) 

當我們使用venv創建虛擬環境時,配置文件pyvenv.cfg應該位於虛擬環境的根目錄中。 根據文檔,這個文件應該包含一行包含一個include-system-site-packages鍵,如果venv以前在沒有--system-site-packages選項的情況下運行,則設置為false

我想創建一個具有特定 python 版本的虛擬環境。 這就是我所做的。 安裝virtualenv

pip install virtualenv

轉到 python 版本下載頁面(帶有二進制安裝程序)。 在我的例子中,我需要 python 3.7,所以 binay 安裝程序的最新版本是 3.7.9 版https://www.python.org/downloads/release/python-379/

轉到該頁面並下載Windows x86-64 embeddable zip file ,解壓縮 zip 文件並將內容放入項目文件夾中。

然后用,

virtualenv --python .\python379\python.exe env

創建虛擬環境。

如果您收到任何類似virtualenv: The term 'virtualenv' is not recognized as a name of a cmdlet,請使用pip uninstall virtualenv virtualenv關閉終端,以管理員/root 用戶身份打開終端並重新安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM