我在 setup.py 中需要啥选项才能在正确的目录中创建包?

Posted

技术标签:

【中文标题】我在 setup.py 中需要啥选项才能在正确的目录中创建包?【英文标题】:What option do I need in setup.py to create the package in the right directory?我在 setup.py 中需要什么选项才能在正确的目录中创建包? 【发布时间】:2013-03-28 04:46:00 【问题描述】:

我正在使用setup.py 创建一个python 包,我想通过pip 安装它。正确安装下的文件

lib/python2.7/site-packages/<package-name>

我在setup.py中使用了以下选项:

'package_dir': '':'lib'

作为described here,但出现错误

error: package directory 'lib' does not exist

嗯,没有这样的目录,因为我希望 current 目录安装为包lib 或其他任何东西。我也试过用

'package_dir': 'mycode':''

将代码直接安装在

lib/python2.7/site-packages/

不低于

lib/python2.7/site-packages/<package-name>

我做错了什么,这在哪里记录?我可能会忽略此基本功能的文档,因为 setup.py 的文档“次优”。

【问题讨论】:

【参考方案1】:

如何做到这一点的描述可以在distribute documentation...中找到。 )。要将其包含为 您的 模块,您需要在 setup.py 中添加以下行:

'packages': ['towelstuff']

创建 sdist 后(从 TowelStuff/ 中),安装此包后会将其安装在 site-packages/towelstuff 下,可以照常导入 (from towelstuff import ...)。

【讨论】:

以上是关于我在 setup.py 中需要啥选项才能在正确的目录中创建包?的主要内容,如果未能解决你的问题,请参考以下文章

如何正确运行 setup.py 文件? [复制]

setup.py 拉入非 Python github repos 并将它们放在正确的目录中?

SQL Server里面啥样的视图才能创建索引

python setup.py 安装和卸载 的正确姿势

使用 setup.py 和 wheel 安装包依赖项

在 setup.cfg 中正确使用 PEP 508 环境标记