关于虚拟环境、PATH变量和命令行的问题



如果我在计算机上全局安装了一个python包,然后将该包的位置添加到我的PATH变量中,那么我的命令行可以找到它,而无需每次执行时都键入完整的路径。

这是如何在虚拟环境中工作的?例如,我刚刚在项目的激活虚拟环境中使用了pip install ffmpeg。我可以在我的venv/Lib/site-packages文件夹中看到它,但我的命令行找不到它。我该如何在虚拟环境中等效于将ffmpeg的位置添加到我的PATH变量中?

正如chepner在上面的评论中提到的,如果您已经激活了虚拟环境,这应该已经起作用了。您可以通过查看模块的__file__来说服自己或仔细检查您从哪个位置运行:

激活虚拟环境之前:

>>> import pip
>>> print(pip.__file__)
C:Users...Anaconda3libsite-packagespip__init__.py

激活虚拟环境后:

>>> import pip
>>> print(pip.__file__)
C:Users...DocumentsResearch...envlibsite-packagespip__init__.py                                                                                                                             

请注意,我没有调整PATHpip是从虚拟环境中运行的。

还要注意的是,__file__不一定是为每个模块定义的。有关__file__不适用于快速检查时选项的更完整视图,请参阅此答案。

最新更新