Skip to content
Gogary edited this page Aug 23, 2015 · 2 revisions

基本声明

  • MANIFEST.in中内容声明打包时压缩包包含的文件,如果setup.py需要include包在这里需要加进去。
  • setup.py中内容声明安装后程序环境,包括包含文件,即程序运行相关文件。

一、配置要点

1.1 setup.py配置

以下利用来include只对python setup.py install有效,但如果用pip下载就有问题

setup(
	...
	packages=['dig'],
	data_files=[('dig', ['dig/VERSION', 'dig/mpg123.exe'])],
	...
)

因此改为如下方式,find_packages()参数可配

setup(
	...
	packages=find_packages(),
	include_package_data=True,
	...
)

1.2 基本步骤

1.2.1 上传到测试服务器 testpypi

第一步:生成.zip

> python setup.py sdist

这里仅以打为zip为例,其他方式类同,命令参考:链接

第二步:注册pypi,同时生成.pypirc模板

> python setup.py sdist register

之后按照操作步骤进行,保存注册文件到 c:\Users\YourUsername\.pypirc,形式内容如下,添加pypitest如下:

[distutils]
index-servers =
    pypi
    pypitest

[pypitest]
repository = https://testpypi.python.org/pypi
username = <your user name goes here>
password = <your password goes here>

[pypi]
username:<your user name goes here>
password:<your password goes here>

第三步:注册pypitest

> python setup.py sdist register -r pypitest

第四步:upload 修改.pypirc,表明只提交到pypitest,如下:

[distutils]
index-servers =
    pypitest

[server-login]
repository = https://testpypi.python.org/pypi
username = <your user name goes here>
password = <your password goes here>

[pypi]
username:<your user name goes here>
password:<your password goes here>

对于win7用户,upload出现如下错误的话:

Upload failed (401): You must be identified to edit package information

需根据自己系统的配置修改win7_configure.bat,然后运行,之后再键入如下命令

> python setup.py sdist upload

之后收到Server Response (200):OK,表示上传成功

1.2.2 上传到正式服务器

对于正式上传到pypi,就简单些:

  1. 去掉.pypirc中pypitest的信息
  2. 命令行指令不用加入-r pypitest
  3. 在upload时将[pypi]改为[server-login]

1.3 最后

官方给出

但有些坑还是要试出来。

文档待完善