python - 即使激活了虚拟环境,Pip 也会在 pyenv root 中安装软件包

标签 python pip python-venv pyenv virtual-environment

我尝试在之前使用 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/

相关文章:

python - JSON 文件到数据帧转换-ValueError : Unexpected character found when decoding array value (2)

python - Django Celery delay() 总是推送到默认的 'celery' 队列

python - 在 Ubuntu 14.04.02 上使用 pip 安装 Fuel(机器学习)

python - 如何在 venv 中列出我的 pip 安装包?

python - 如何保证venv的状态与requirements.txt中声明的一致?

pygame - 使 `coc-python` 和 `jedi` 自动完成模块安装在虚拟环境中

python - 根据时间戳中存在的两列中的元素分隔行

python - 如何对同一列中的字段进行减法 - Python

python pip install "mkl-fft"无法安装

python - 如何重新安装损坏的 pip?