问题描述
如果我将python软件包全局安装到我的计算机上,然后将该软件包的位置添加到PATH变量中,那么我的命令行可以找到它,而无需每次执行时都输入完整路径。
这在虚拟环境中如何工作?例如,我只是在项目的激活虚拟环境中使用了pip install ffmpeg
。我可以在venv/Lib/site-packages
文件夹中看到它,但是我的命令行找不到它。我该如何在虚拟环境中将ffmpeg
的位置添加到我的PATH变量中?
解决方法
正如chepner在上面的评论中提到的那样,如果您已经激活了虚拟环境,这应该已经起作用。您可以通过查看模块的__file__
来说服自己或再次检查您要从哪个位置运行:
在激活虚拟环境之前:
>>> import pip
>>> print(pip.__file__)
C:\Users\...\Anaconda3\lib\site-packages\pip\__init__.py
激活虚拟环境后:
>>> import pip
>>> print(pip.__file__)
C:\Users\...\Documents\Research\...\env\lib\site-packages\pip\__init__.py
请注意,我没有调整PATH
,并且pip
正在虚拟环境中运行。
还要注意,__file__
不一定为每个模块都定义。有关__file__
对快速检查不起作用时的选项的完整视图,请参见this答案。