我尝试在之前使用 venv
创建的虚拟环境中使用 pip
安装软件包。 Python 版本通过 pyenv 进行管理。我不想使用 pyenv
创建虚拟环境。
项目就是这样设置的。在项目空目录中,我添加了包含版本 3.8.2
的 .python-version
。然后我使用 python -m venv .venv 创建了虚拟环境。然后我使用 source .venv/bin/activate
激活了环境。现在命令行以 (.env)
开头。但是,当我尝试使用 pip install some-package
安装某些软件包时,该软件包最终位于 {pyen_home}/versions/3.8.2/lib/python3.8/site-packages
,而不是虚拟环境。
令人恼火的是,我几乎可以肯定我以前确实成功地在虚拟环境中安装了软件包,但现在不行了,所以我看不到我错过了什么。
最佳答案
.python-version
的内容应为 .venv
。
据我所知,您不应该自己创建此文件。它是在您运行 pyenv local .venv 时生成的。并且 venv 会自动激活。
创建虚拟环境的正确方法是pyenv virtualenv {python-version} {venv-name}
。阅读docs仔细。
关于python - 即使激活了虚拟环境,Pip 也会在 pyenv root 中安装软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71558839/