一起使用 virtualenvwrapper 和 pyenv
Using virtualenvwrapper and pyenv together
$ pyenv virtualenv 3.8.0 tf12
创建一个位于 ~/.pyenv/versions/3.8.0/envs/tf12
的 virtualenv,其中包含我们使用 pip install
安装到其中的包。如果我们创建一个像 mkdir myfolder && cd myfolder && pyenv local tf12
这样的新项目目录,该项目目录将使用 tf12 环境包含的相同内核和包,因为我们使用了 pyenv local
命令。
但是我们也有 virtualenvs 和用 mkproject mynewenv
创建的目录位于 ~/.ve
和 ~/workspace
之类的地方。工作区是我们放置笔记本、代码和脚本 .pynb
、.py
、.r
等的地方,相应的 virtualenv 使用全局 python 版本,该版本在执行 [=15] 时处于活动状态=].
这些使用 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
mkvirtualenv ${@:3}
}
请记住,使用 mkvirtualenv test-venv -p python<version>
不会选择由 pyenv 安装的 python 版本。
另一种方法:
如果您只想使用 mkvirtualenv 创建一个 venv,您可以使用 shell 函数来替换它的行为。
# .bash_profile or .zshrc after virtualenvwrapper init.
pyvenv()
{
python -m venv $WORKON_HOME/
workon
}
要创建 virtualenv,请使用 pyvenv <python-version> <venv-name>
。您可以将所有 virtualenvwrapper 命令与新创建的 venv 一起使用。
$ pyenv virtualenv 3.8.0 tf12
创建一个位于 ~/.pyenv/versions/3.8.0/envs/tf12
的 virtualenv,其中包含我们使用 pip install
安装到其中的包。如果我们创建一个像 mkdir myfolder && cd myfolder && pyenv local tf12
这样的新项目目录,该项目目录将使用 tf12 环境包含的相同内核和包,因为我们使用了 pyenv local
命令。
但是我们也有 virtualenvs 和用 mkproject mynewenv
创建的目录位于 ~/.ve
和 ~/workspace
之类的地方。工作区是我们放置笔记本、代码和脚本 .pynb
、.py
、.r
等的地方,相应的 virtualenv 使用全局 python 版本,该版本在执行 [=15] 时处于活动状态=].
这些使用 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
mkvirtualenv ${@:3}
}
请记住,使用 mkvirtualenv test-venv -p python<version>
不会选择由 pyenv 安装的 python 版本。
另一种方法: 如果您只想使用 mkvirtualenv 创建一个 venv,您可以使用 shell 函数来替换它的行为。
# .bash_profile or .zshrc after virtualenvwrapper init.
pyvenv()
{
python -m venv $WORKON_HOME/
workon
}
要创建 virtualenv,请使用 pyvenv <python-version> <venv-name>
。您可以将所有 virtualenvwrapper 命令与新创建的 venv 一起使用。