17

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

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

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

'package_dir': {'':'lib'}

如此处所述,但出现错误

error: package directory 'lib' does not exist

好吧,没有这样的目录,因为我希望将当前目录安装为包lib或其他任何东西。我也尝试使用

'package_dir': {'mycode':''}

它将代码直接安装在

lib/python2.7/site-packages/

并且不低于

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

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

4

1 回答 1

13

如何做到这一点的描述可以在分发文档中找到......在包含所有项目的目录中(TowelStuff/在给定的示例中),您可以指定实际模块的名称(towelstuff/)。要将其包含为您的模块,您需要在以下行中添加以下行setup.py

'packages': ['towelstuff']

在创建了 sdist(从内部TowelStuff/)之后,这个包的安装将把它安装在下面site-packages/towelstuff,可以像往常一样导入(from towelstuff import ...)。

于 2013-04-06T06:04:44.243 回答