我已经设置了我的pip来将软件包安装到我有更多空间的驱动器(比如E:\pip
)。在Visual Studio 2017中,我已将此文件夹添加到搜索路径中,以便完成代码。
当我提交项目时,我发现它将搜索路径存储在项目文件(myproject.pyproj
)中。我尝试通过将${PYTHONPATH}
和${env.PYTHONPATH}
添加到搜索目录来避免这种情况,但Visual Studio确实允许这样做(至少通过用户界面)。我读了documentation,但它没有提供版本控制的最佳实践。 This Github repo也不会将pyproj
添加到忽略列表中(据我所知,也不会添加任何其他项目文件)。
有没有办法拥有更通用的搜索路径(我可以在具有不同配置的多台计算机上使用),同时仍然在git中包含pyproj
?
或者,我可以使用未包含在git中的“用户”特定配置。指针将不胜感激。
答案 0 :(得分:1)
这里有几个选项:
使用MSBuild语法,您可以指定$(PythonPath)
作为搜索路径。 (您使用的其他语法是PowerShell)在Visual Studio中,您将看到此值的评估值,但Project / Properties下的条目应允许您对其进行修改。在解决方案资源管理器中通过搜索路径进行的更改将使用当前值替换变量。
在所有计算机上的Visual Studio中,禁用"忽略系统范围的PYTHONPATH变量"选项(请参阅options reference page)。
在您的计算机上的Python中,将any_name.pth
文件添加到您的site-packages目录,其中只包含E:\pip
。这将避免完全设置PYTHONPATH
,并避免解释器之间的冲突(例如,如果您安装Python 3包然后运行Python 2,它将看到相同的PYTHONPATH
并尝试导入不兼容的软件包。每个安装都有一个单独的.pth
文件,您可以将它们指向不同的文件夹)
通常,搜索路径要么与项目相关(例如,在同一解决方案中的多个项目之间),要么在跨机器的相对标准位置(例如,程序文件中的某个位置)。为此目的使用环境变量,特别是全局(而不是在启动Python之前的脚本中),不鼓励。