Virtualenv 在全局目录中安装包
Virtualenv installing a package in the global directory
我一定要阅读 this question 和类似的,但我找不到我的问题的答案。
我的问题是:当我进入 muy virtual env 并激活它时,如果我在那里安装了一个软件包,它也会安装在我电脑的其他地方。
因此,例如,如果我在终端中输入:
cd home/Documents/Python/tests/my_virtual_env
source bin/activate
即激活虚拟环境。如果我输入:
pip3 install wget #just an example package
我看到了安装过程,我可以 运行 一个使用 wget 的 .py 脚本。但是,为什么这个包也安装在我电脑的其他地方?
- 我确保我事先没有使用 pip3 list 安装那个包。
- 我通过从其他目录 运行ning 一个 .py 脚本(使用 cd /etc.etc/ 更改目录然后 运行ning 从那里).
- 我在适当的时候停用了环境。
我还意识到,如果我在 virtualenv 中卸载该软件包,它也会在其他地方卸载。
非常感谢您的帮助。
可能正在执行的 pip3
命令实际上并未绑定到 虚拟环境 。因此,您可以改为执行以下操作,无论 虚拟环境 是否激活,该操作都有效:
$ path/to/my_virtual_env/bin/python3 -m pip install SomeProject
下面的命令应该会给你一个相对清晰的项目安装位置的指示,确保它在虚拟环境的site-packages
目录中:
$ path/to/my_virtual_env/bin/python3 -m pip show SomeProject
所以它应该显示某种东西:
Name: SomeProject
...
Location: .../path/to/my_virtual_env/lib.python3.X/site-packages
However, why is this package also installed elsewhere in my computer?
以下显示了二进制文件所在的位置:
$ which somecommand
somecommand
是否在Python虚拟环境中应该比较容易识别。
我一定要阅读 this question 和类似的,但我找不到我的问题的答案。
我的问题是:当我进入 muy virtual env 并激活它时,如果我在那里安装了一个软件包,它也会安装在我电脑的其他地方。
因此,例如,如果我在终端中输入:
cd home/Documents/Python/tests/my_virtual_env
source bin/activate
即激活虚拟环境。如果我输入:
pip3 install wget #just an example package
我看到了安装过程,我可以 运行 一个使用 wget 的 .py 脚本。但是,为什么这个包也安装在我电脑的其他地方?
- 我确保我事先没有使用 pip3 list 安装那个包。
- 我通过从其他目录 运行ning 一个 .py 脚本(使用 cd /etc.etc/ 更改目录然后 运行ning 从那里).
- 我在适当的时候停用了环境。
我还意识到,如果我在 virtualenv 中卸载该软件包,它也会在其他地方卸载。
非常感谢您的帮助。
可能正在执行的 pip3
命令实际上并未绑定到 虚拟环境 。因此,您可以改为执行以下操作,无论 虚拟环境 是否激活,该操作都有效:
$ path/to/my_virtual_env/bin/python3 -m pip install SomeProject
下面的命令应该会给你一个相对清晰的项目安装位置的指示,确保它在虚拟环境的site-packages
目录中:
$ path/to/my_virtual_env/bin/python3 -m pip show SomeProject
所以它应该显示某种东西:
Name: SomeProject
...
Location: .../path/to/my_virtual_env/lib.python3.X/site-packages
However, why is this package also installed elsewhere in my computer?
以下显示了二进制文件所在的位置:
$ which somecommand
somecommand
是否在Python虚拟环境中应该比较容易识别。