我确保阅读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脚本。但是,为什么此软件包也安装在计算机的其他位置?
我还意识到,如果我在virtualenv中卸载了该软件包,那么它也会在其他地方也卸载。
非常感谢您的帮助。
答案 0 :(得分:1)
正在执行的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
但是,为什么该软件包也安装在计算机的其他位置?
以下显示了二进制文件所在的位置:
$ which somecommand
somecommand
是否在Python虚拟环境中应该相对容易识别。