出于内部原因,我的小组与许多不同的小组共享一个conda环境。这限制了软件包安装的灵活性,因为我们不想意外地更新相关的软件包(我知道我们过去...)为了解决不灵活的情况,我的团队希望将我们开发的软件包安装在远程目录中。使用pip安装软件包,可以使用--target标志指定新的/远程安装文件夹。然后,我们将修改PYTHONPATH
中的.bashrc
,以通过标准import x
访问新安装的软件包。
我遇到的问题是,setup.py
中定义的install_requires=['pandas==0.24.1']
中的软件包也已安装在远程目录中,即使共享python site_packages
满足了该要求。似乎正在发生的情况是pip
仅在远程软件包目录中安装依赖项。有什么方法可以安装我们的软件包,同时可以在多个地方查看pip来满足软件包需求,特别是我们python安装的site-packages?
我本以为pip
将使用PYTHONPATH
检查是否满足依赖性,但这似乎并非如此。
如果这没有意义,请告诉我,包装对我来说还是新的。所以我确定我到处都使用了错误的术语。
答案 0 :(得分:0)
我相信使用"path configuration files"可能会有所帮助。
假设您在/path/to/external-packages
中安装了一些软件包,并且在当前环境中站点软件包的常规位置是/path/to/site-packages
。
然后,您可以添加具有以下内容的文件/path/to/site-packages/external-packages.pth
:
/path/to/external-packages
我认为这至少应该对某些 pip 命令有效:check
,list
,show
,也许更多。
请仔细阅读并尝试使用此技术,因为它可能会产生不良副作用。此外,如果我没记错的话,就不需要修改PYTHONPATH
环境变量。