$ pyenv virtualenv 3.8.0 tf12
创建一个位于 ~/.pyenv/versions/3.8.0/envs/tf12
的 virtualenv,其中包含我们安装到其中的包使用 pip 安装
。如果我们创建一个新的项目目录,如 mkdir myfolder && cd myfolder && pyenv local tf12
,该项目目录将使用 tf12 环境包含的相同内核和包,因为我们使用了 pyenv local
命令。
但是我们也有 virtualenvs 和使用 mkproject mynewenv
创建的目录,位于 ~/.ve
和 ~/workspace
之类的地方。工作空间是我们放置笔记本、代码和脚本.pynb
、.py
、.r
等的地方,对应的virtualenv使用全局python版本在执行 mkproject mynewenv
时处于事件状态。
这些使用 mkproject mynewenv
创建的 virtualenvs 与使用 pyenv virtualenv
创建的 virtualenvs 是分开的。
我得出的结论是,我们不能将它们一起用于进一步的可能性。它们是独立使用的。如果我错了,请纠正我。
最佳答案
你应该安装 pyenv-virtualenvwrapper plugin并设置它。之后您可以设置 python 版本,然后创建一个虚拟环境。
pyenv local 3.8.0
mkvirtualenv test-venv
如果需要,您可以创建一个 shell 函数将这两行压缩为一行。
如果你不想使用pyenv local
命令以避免创建 .python-version
文件,你可以使用 pyenv shell <python-version>
命令代替。
# .bash_profile or .zshrc after pyenv and virtualenvwrapper init.
mkvenv()
{
pyenv shell $1
mkvirtualenv $2 ${@:3}
}
记住使用 mkvirtualenv test-venv -p python<version>
不会选择 pyenv 安装的 python 版本。
另一种方法: 如果您只想使用 mkvirtualenv 创建一个 venv,您可以使用一个 shell 函数来替换它的行为。
# .bash_profile or .zshrc after virtualenvwrapper init.
pyvenv()
{
python$1 -m venv $WORKON_HOME/$2
workon $2
}
要创建 virtualenv,请使用 pyvenv <python-version> <venv-name>
.您可以将所有 virtualenvwrapper 命令与新创建的 venv 一起使用。
关于python - 一起使用 virtualenvwrapper 和 pyenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61675662/