我可以使用pipenv创建两个虚拟环境,每个虚拟环境具有不同的python版本(即3.7和3.6)吗?

时间:2020-07-11 19:42:58

标签: python-3.x windows-10 virtualenv pyenv

我想拥有两个虚拟环境,其中一个具有python 3.6版本,另一个具有python 3.7版本。这将使我有希望地完成我的项目,而不会在安装模块和软件包时产生冲突。我相信在3.7中无法完成Tensorflow。

我已经尝试了Pipenv shell w /“ pipenv install Django == 3.0.2”,github建议,

一些网站说使用Python,pipenv shell,DJango组合,但这似乎只能创建python3虚拟环境的一个版本,并且以前的现有virutalenv将被删除。我应该创建一个新的Pipfile来防止这种情况,还是不是为此配置而设计的Pipfile。

  1. Github讨论链接:

https://github.com/pypa/pipenv/issues/1071

setup environments
pipenv --name 35 --python 3.5 install 
pipenv --name 36 --python 3.6 install  
# run commands 
pipenv --name 35 run python

我尝试遵循建议的编码过程,但得到ModuleNotFoundError:没有名为“ apt_pkg”的模块。

  1. 最近我考虑过pyenv,但这似乎是为mac用户量身定制的。我有一台Windows 10计算机,因此不确定是否可以使用。我使用了“ $ pip install pyenv-win”
$ pip install pyenv-win
Defaulting to user installation because normal site-packages is not writeable
Collecting pyenv-win
  Using cached pyenv_win-1.2.4-py3-none-any.whl (25 kB)
Installing collected packages: pyenv-win
Successfully installed pyenv-win-1.2.4

但是无法使用它创建任何虚拟环境:

$ pyenv-win versions
ModuleNotFoundError: No module named 'apt_pkg'

注意:第3部分遵循了这些准则

感谢您的帮助。我真的很想让这个工作。

2 个答案:

答案 0 :(得分:0)

通过pip安装pyenv-win后,请不要忘记为用户设置默认环境变量(请参见https://github.com/pyenv-win/pyenv-win中的安装文档):

[System.Environment]::SetEnvironmentVariable('PYENV',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('PYENV_HOME',$env:USERPROFILE + "\.pyenv\pyenv-win\","User")
[System.Environment]::SetEnvironmentVariable('path', $HOME + "\.pyenv\pyenv-win\bin;" + $HOME + "\.pyenv\pyenv-win\shims;" + $env:Path,"User")

此外,我认为重启终端后,您只需键入pyenv即可调用pyenv-win。

答案 1 :(得分:0)

要使用 pyenv 创建虚拟环境,您需要先安装版本,然后在本地为您的项目设置或使用您设置的全局版本。

要安装你需要执行的python版本:

pyenv install 3.8.2
pyenv local 3.8.2

但是如果您打算将 pyenv 与 pipenv 结合使用,我建议您执行以下操作:

pipenv install --python 3.8.2

如果你有 pyenv install pipenv 将执行以下操作:

  1. 如果 3.8.2 是您当前安装的版本,它将使用它
  2. 如果没有,它将使用 pyenv 安装它并为此虚拟环境设置