python 创建模块时候的几个小坑

为了方便和同事们的协同开发,将自己写的有点代码都修改为模块,这几天在更新和测试中还是碰到很多问题。国内 python 开发虽然如火如荼,但是开发模块的人还是非常少,加上国人一般都是不太愿意分享的,只好慢慢看英文资料和测试了。

install_requires 的问题。

在 setup.py 中设置所有模块需要的参数等,其中 install_requires 是用来设置这个模块有什么依赖模块和版本的,但是如果你在 sdist 过程中针对这个 install_requires 报错了,那么最简单的方法是将

from distutils.core import setup

替换为

from setuptools import setup

对于 Pycharm 默认生成的 setup.py,的确生成的是前者,我也不清楚这是不是 pycharm 的 bug。

可以参考这个回答

You are not allowed to edit ‘…’ package information 问题。

在第一次上传 pypi 的时候,或许你会得到这样的错误信息,那么必须先执行:

python setup.py register

然后再执行

python setup.py sdist upload

这样就可以了。可以参考这个回答

setup.py 文件包括其他文件

即便在 MANIFEST.in 文件中包括了想要的测试或者数据文件,我发现还是没有在安装包中有相关的文件,一查资料,原来是要在 setup.py 中设置:

include_package_data=True

这样就可以了。

Leave a Reply