贡献者: addis
venv 是最常用的 python 虚拟环境管理工具(Python 3.3+ 内置),其他还有 conda, virtualenv, pipenv。
python3 -m venv 环境名(-m 选项是把一个 python 包作为一个程序运),然后会出现一个名为 环境名 的文件夹。
python3 -m venv --help 可以显示一些额外选项,例如 --symlinks 可以尽量用符号链接引用系统的可执行文件,--copies 会直接把可执行文件复制到虚拟环境,--without-pip 不在虚拟环境安装 pip。
sudo apt install python3.10-venv,装好再试即可。
source 环境名/bin/activate 进入刚创建的虚拟环境。此时 bash 的行首会标示当前的环境名((环境名) $)。
pip3 install ... 就可以在当前环境安装一些包。
pip3 list 会发现当前几乎没有安装的包。也可以安装新包。
deactivate 退出虚拟环境。再用 pip3 list 就会看到系统默认的包。
环境名 文件夹即可删掉虚拟环境。
pip freeze > 依赖.txt 可以保存当前环境的所有包的版本
pip install -r 依赖.txt 可以恢复指定版本的包
chroot 一样改变路径。
activate 是个 bash 脚本,设置如下环境变量 VIRTUAL_ENV(环境名 的绝对路径),VIRTUAL_ENV_PROMPT,PS1(bash 提示符前标明环境名),PATH(添加 环境名/bin 到最开头)。
环境名/bin 文件夹除了 activate 脚本外,还会有一些名为 python* 的符号链接,链接到应该是用于创建 venv 的 python 可执行文件。另外还会有一些名为 pip* 的内容一样的脚本文件。
环境名/lib 文件夹里面应该是标准库和 pip 安装的库。
pyvenv.cfg 文件里面有一些 venv 配置信息。
virtualenv 比 venv 要老,但工作原理类似。
pip3 install virtualenv
apt install python版本号-venv 其中版本号可以用 python3 --version 查看。