打包发布Python模块的方法详解
接收unittest.TestCase子类,我们可以讲所有单元测试写入一个测试用例中,然后import进来,再传你给test_suite 模块和包名称,我就是使用这种方式,之前自己的测试都是分开的多个脚本,这样我添加一个__init__.py就可以将其变成一个包,将包名传给test_suite,setuptools就会神奇的将此包下的所有测试全部跑一边,这样我以后再加测试脚本的时候直接就添加新的脚本就好了,其他的都不需要改动了。 运行效果: zjshao@SHAO-PC:/mnt/d/Dropbox/Code/CentOS_code/VASPy$ python setup.py test running test running egg_info creating vaspy.egg-info writing vaspy.egg-info/PKG-INFO writing top-level names to vaspy.egg-info/top_level.txt writing dependency_links to vaspy.egg-info/dependency_links.txt writing manifest file 'vaspy.egg-info/SOURCES.txt' reading manifest file 'vaspy.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'vaspy.egg-info/SOURCES.txt' running build_ext test_compare (tests.incar_test.InCarTest) Make sure we can compare two InCar objects correctly. ... ok test_eq (tests.incar_test.InCarTest) Test __eq__() function. ... ok ... 此处省略若干输出 ---------------------------------------------------------------------- Ran 22 tests in 3.574s OK 发布自己的python包 1. 首先先去PyPI注册帐号 2. 配置~/.pypirc如下: [distutils] index-servers = pypi pypitest [pypi] username:ShaoZhengjiang password:mypassword [pypitest] username:ShaoZhengjiang password:mypassword 3. 然后注册并上传自己的包到测试服务器 pypi提供了一个测试服务器,我们可以在这个测试服务器上做测试。
然后
若没有问题我们应该不会得到任何错误。 4. 上传至PyPI 若上面的测试成功,我们就可以按照相同的步骤将包注册并上传。 python setup.py register -r pypi python setup.py sdist upload -r pypi Ok,之后我们就可以在PyPI(https://pypi.python.org/pypi/vaspy/)上看到我们自己的包了。 (编辑:PHP编程网 - 黄冈站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |