[英]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.