Posted on:
Last modified:
In Python 3, there comes a virtual environment shipped with the standard lib called venv
.
to create a new venv, you can simply call:
python3 -m venv <venv-name>
virtualenv VENV_NAME # for python 2
--system-site-pakcages to bring system packages
to activate the venv, you need source the generated shell script
source <venv-name>/bin/activate
Note: the generated activate script contains directory infomation based on your local computer and projects, so it's NOT portable.
to deactivate it:
deactivate
But, in most times, we don't really care about the name of the virtual env, so let's simply call it .venv
, and you can add the following to your .bashrc
for convinence
DEFAULT_VENV_NAME=".venv"
alias create-venv="python3 -m venv $DEFAULT_VENV_NAME"
alias activate="source $DEFAULT_VENV_NAME/bin/activate"
after you activated you venv, there would be a prompt before your shell prompt. You can see that python3
and pip3
is set to the venv copy of python3 by running:
which python3 # -> .venv/bin/python3
if you run pip install
, the packages will be install in your local venv directory, so no sudo needed!
since the venv directory is not portable, the best practice would be save your dependencies is your requirements.txt
file.
首先,你需要跳出来 venv, 到一个全局环境中,然后执行:
python3 -m venv --upgrade YOUR_VENV_DIRECTORY
这样就可以升级到对应的 Python 版本啦
venv 把路径直接写到了 bin 中,如果重命名了文件夹,那么需要手工替换一下,以使用 sd 为例:
sd "OLD_DIR" "NEW_DIR" .venv/bin/*
Change in .venv/pyvenv.cfg
file:
- include-system-site-packages = true
+ include-system-site-packages = true
© 2016-2022 Yifei Kong. Powered by ynotes
All contents are under the CC-BY-NC-SA license, if not otherwise specified.
Opinions expressed here are solely my own and do not express the views or opinions of my employer.