【问题标题】:how can I make pip/setuptools understand that my package is in ./src?如何让 pip/setuptools 了解我的包在 ./src 中?
【发布时间】:2012-10-11 09:03:21
【问题描述】:

我在 Github 中有一个类似这样布局的库:

README
setup.py
src/
   somelibrary.py

注意:我无法更改布局,但我可以更改 setup.py。

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

-e git+http://blablabla/blabla#egg=somelibrary

这将克隆 ./src/somelibrary 下的存储库,然后在其上运行 setup.py develop,这只会在 site-packages 下添加指向 ./src/somelibrary 的链接。不幸的是,由于该库实际上位于 ./src/somelibrary/src 下,python 似乎无法正确看到该库。

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

【问题讨论】:

    标签: python pip setuptools setup.py


    【解决方案1】:

    你可以把它放在设置函数中:

    package_dir = {'': 'src'},
    

    这会将基本包目录映射到“src”。

    【讨论】:

    • 就是这样。我删除了“packages”选项并按照您的建议设置了 package_dir,这就成功了。谢谢!
    • 在 setuptools 文档中只收到了最简单的提及(并且没有解释),这真的让我很烦恼:peak.telecommunity.com/DevCenter/setuptools
    • setuptools 的很多事情都困扰着我。但总比没有好。 ;-)
    猜你喜欢
    • 2018-11-24
    • 2019-05-31
    • 2011-03-29
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    相关资源
    最近更新 更多