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

Mit*_*Lee 5 virtualenv python-3.x windows-10 pyenv

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

我尝试过使用 Pipenv shell w/'pipenv install Django==3.0.2',github 建议,

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

  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
Run Code Online (Sandbox Code Playgroud)

我尝试遵循这些建议的编码过程,但得到了 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
Run Code Online (Sandbox Code Playgroud)

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

$ pyenv-win versions
ModuleNotFoundError: No module named 'apt_pkg'
Run Code Online (Sandbox Code Playgroud)

注意:第 3 部分遵循这些指南

任何帮助表示赞赏。我真的很想让这个工作。

小智 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")
Run Code Online (Sandbox Code Playgroud)

另外,我认为重新启动终端后,您只需输入 pyenv 即可调用 pyenv-win。