Python 如何使pip/setuptools了解我的包在./src中?

Python 如何使pip/setuptools了解我的包在./src中?,python,pip,setuptools,setup.py,Python,Pip,Setuptools,Setup.py,我在Github中有一个布局如下的库: README setup.py src/ somelibrary.py 注意:我无法更改布局,但可以更改setup.py 我希望能够从requirements.txt引用这个库,这样人们就可以执行pip安装-r requirements.txt并自动安装它。因此,我在需求中添加了这样一行: -e git+http://blablabla/blabla#egg=somelibrary 这将在./src/somelibrary下克隆存储库,然后在其上

我在Github中有一个布局如下的库:

README
setup.py
src/
   somelibrary.py
注意:我无法更改布局,但可以更改setup.py

我希望能够从requirements.txt引用这个库,这样人们就可以执行
pip安装-r requirements.txt
并自动安装它。因此,我在需求中添加了这样一行:

-e git+http://blablabla/blabla#egg=somelibrary
这将在./src/somelibrary下克隆存储库,然后在其上运行
setup.py develope
,这只会在site packages下添加到./src/somelibrary的链接。不幸的是,由于库实际上位于./src/somelibrary/src下,因此python似乎无法正确地看到库


我错过了什么?我想这一定是我没有正确使用的setup.py选项。

您可以将其放入设置功能中:

package_dir = {'': 'src'},

它将基本包目录映射到“src”

就这样。我删除了“packages”选项,并按照您的建议设置package_dir,这就成功了。谢谢在setuptools文档中,这只得到了最简单的提及(而没有任何解释),这真的让我很恼火:关于setuptools的很多事情让我很恼火。但总比什么都没有强