摘自:
https://blog.zengrong.net/post/2167.html
https://blog.csdn.net/lanonjj/article/details/51050212
https://www.cnblogs.com/zh605929205/p/7705192.html
为了解决包依赖、安装权限和 python 版本问题,程序员们制造了许多工具。我把它们做一个汇总,便于查找。
virtualenv
virtualenv 是目前最流行的 python 虚拟环境配置工具。它不仅同时支持 python2 和 python3,而且可以为每个虚拟环境指定 python 解释器,并选择不继承基础版本的包。
安装
pip install virtualenv
基本使用
- 为一个工程创建一个虚拟环境:
cd my_project_dir virtualenv venv #venv为虚拟环境目录名,目录名自定义
virtualenv venv
将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及 pip
库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 venv
)可以是任意的;若省略名字将会把文件均放在当前目录。
在任何你运行命令的目录中,这会创建Python的拷贝,并将之放在叫做 venv
的文件中。
你可以选择使用一个Python解释器:
virtualenv -p /xxx/xxx/python2.7 venv # -p参数指定Python解释器程序路径
这将会使用 /xxx/xxx/python2.7
中的Python解释器。
2.进入环境,首先进入venv下的Scripts目录,并运行activate.bat激活虚拟环境(虚拟环境激活后,前面会有环境名称)
3.退出,进入Scripts目录下:deactivate
virtualenvwrapper
顾名思义,virtualenvwrapper 是对 virtualenv 的一个封装,目的是使后者更好用。
关于为什么使用 shell 脚本开发,作者专门 进行了解释 。
virtualenvwrapper 还有针对 vim 用户和 emacs 用户的 扩展 。
virtualenvwrapper 能支持 bash/ksh/zsh
,所以我们可以看出,它不支持 Windows。
virtualenvwrapper-win
由于 virtualenvwrapper 基于 shell 开发,因此不能在 Windows 系统上使用。但我们可以使用针对 Windows batch shell 的 virtualenvwrapper-win。
venv
Python 从3.3 版本开始,自带了一个虚拟环境 venv,在 PEP-405 中可以看到它的详细介绍。它的很多操作都和 virtualenv 类似。
因为是从 3.3 版本开始自带的,这个工具也仅仅支持 python 3.3 和以后版本。所以,要在 python2 上使用虚拟环境,依然要利用 virtualenv 。
在 *nix 系统上,可以直接执行 pyvenv /path/to/new/virtual/enviorment
来创建一个虚拟环境,在 Windows 系统上,则可以使用 python -m venv myenv
来创建。
pyenv
我们可以用许多方法让不同的 Python 版本在系统上共存。
例如在 OS X 上,如果使用官方提供的 DMG 版本安装,那么自带的 python2 和新安装的 python3 是可以共存的。python3 可以使用 python3
来调用,甚至 pip
都可以使用 pip3
来调用。
但如果还有其它小版本需要共存么?我要记忆多少命令呢?
pyenv 用来解决这类问题。它可以安装、卸载、编译、管理多个 python 版本,并随时将其中一个设置为工作环境。
pyenv 不支持 Windows 系统。
pywin
Windows 上有一个 pyenv 的替代品,是 pywin 。它用来在多个安装的 Python 版本之间进行切换,也支持 MSYS/MINGW32 。
Python Launcher for Windows
Python 从3.3版本开始(又是3.3?),在 Windows 系统中自带了一个 py.exe 启动工具。如果你是使用 Python.org 官网下载的安装包安装的 Python 3.3(或更新版本)环境,那么可以直接在命令提示符中使用这个工具。
py
可以打开默认的 python 提示符; py -2.7
和 py -3
打开对应的 Python 版本。