Virtualenv 安装具有多个 Python 版本的模块
Virtualenv installing modules with multiple Python versions
我正在尝试通过创建一个 virtualenv 来保持依赖关系来启动一个 Python 3.6 项目。我目前在我的机器上同时安装了 Python 2.7 和 3.6,因为到目前为止我一直在使用 2.7 编写代码,我希望试用 3.6。我 运行 遇到一个问题,不同版本的 Python 没有检测到我在 virtualenv 中安装的模块。
例如,我使用以下命令创建一个 virtualenv:virtualenv venv
然后我激活 virtualenv 并使用以下命令安装 Django:pip install django
当我使用命令激活 Python 2.7 或 3.6 时出现问题
py -2
或 py -3
,交互式 shell 均未检测到已安装 Django。
Django 仅在我 运行 python
命令时被检测到,当我想使用 3.6 时默认为 2.7。有谁知道这个问题的可能修复方法,以便我可以让我的 virtualenv 正常工作?谢谢!如果这很重要,我在一台机器上 运行ning Windows 7.
创建 virtualenv 时必须 select 解释器。
virtualenv --python=PYTHON36_EXE my_venv
用 Python 3.6 安装路径代替 PYTHON36_EXE
。然后在你激活后,python
可执行文件将绑定到 3.6,你可以像往常一样 pip install Django
。
根据python3.6创建虚拟环境
virtualenv -p python3.6 env36
激活它:
source env36/bin/activate
那么venv36已经激活,venv36
的pip已经可以使用了,你可以照常安装Django
,安装包会存放在env36/lib/python3.6/site-packages
下:
pip install django
关键是 pip
为 Python 的特定版本安装东西,并且安装到非常特定的位置。基本上,虚拟环境中的 pip
命令是专门为虚拟环境使用的解释器设置的。因此,即使您在激活该环境的情况下显式调用另一个解释器,它也不会选择为默认解释器安装的包 pip
。
我正在尝试通过创建一个 virtualenv 来保持依赖关系来启动一个 Python 3.6 项目。我目前在我的机器上同时安装了 Python 2.7 和 3.6,因为到目前为止我一直在使用 2.7 编写代码,我希望试用 3.6。我 运行 遇到一个问题,不同版本的 Python 没有检测到我在 virtualenv 中安装的模块。
例如,我使用以下命令创建一个 virtualenv:virtualenv venv
然后我激活 virtualenv 并使用以下命令安装 Django:pip install django
当我使用命令激活 Python 2.7 或 3.6 时出现问题
py -2
或 py -3
,交互式 shell 均未检测到已安装 Django。
Django 仅在我 运行 python
命令时被检测到,当我想使用 3.6 时默认为 2.7。有谁知道这个问题的可能修复方法,以便我可以让我的 virtualenv 正常工作?谢谢!如果这很重要,我在一台机器上 运行ning Windows 7.
创建 virtualenv 时必须 select 解释器。
virtualenv --python=PYTHON36_EXE my_venv
用 Python 3.6 安装路径代替 PYTHON36_EXE
。然后在你激活后,python
可执行文件将绑定到 3.6,你可以像往常一样 pip install Django
。
根据python3.6创建虚拟环境
virtualenv -p python3.6 env36
激活它:
source env36/bin/activate
那么venv36已经激活,venv36
的pip已经可以使用了,你可以照常安装Django
,安装包会存放在env36/lib/python3.6/site-packages
下:
pip install django
关键是 pip
为 Python 的特定版本安装东西,并且安装到非常特定的位置。基本上,虚拟环境中的 pip
命令是专门为虚拟环境使用的解释器设置的。因此,即使您在激活该环境的情况下显式调用另一个解释器,它也不会选择为默认解释器安装的包 pip
。