python3 venv

traps

venv puts the current directory’s name in its source code generated, so after renaming your directory, you will have to rename the activate file and the pip file.

venv

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 中的 Python 版本

首先,你需要跳出来 venv, 到一个全局环境中,然后执行:

python3 -m venv --upgrade YOUR_VENV_DIRECTORY

这样就可以升级到对应的 Python 版本啦

参考

  1. https://stackoverflow.com/questions/2170252/can-existing-virtualenv-be-upgraded-gracefully

及时获取更新,请关注公众号“爬虫技术学习”(spider-learn)

多年大厂求职&面试官经验,简历付费优化,¥ 500/次。

公众号“爬虫技术学习(spider-learn)”

About 逸飞

后端工程师

发表评论

邮箱地址不会被公开。 必填项已用*标注