搭建私有仓库
安装pypiserver
pip install pypiserver
添加认证
使用htpasswd创建用户和密码,首先安装 passlib:
pip install passlib
创建htpasswd文件并创建一个用户(admin),并按照提示输入密码:
htpasswd -s htpasswd.txt admin
这里要注意的是:有些我们依赖的公有仓库中的packages在本地找不到,下载会超时,需要通过--fallback-url设置一个备选的镜像源:
pypi-server -p 2233 --fallback-url https://pypi.doubanio.com/simpl
如果不需要认证增加-P . -a .参数即可:
pypi-server -p 2233 -P . -a . --fallback-url https://pypi.doubanio.com/simple
上传Python包到pypi仓库
先创建~/.pypirc文件,并配置源的用户名密码:
[distutils] index-servers = local [local] repository: http://localhost:2233 username: admin password: 123456
然后使用sdist命令创建源分发,使用twine上传
release:clean_pyc python setup.py sdist bdist_wheel twine upload -r local ./dist/* clean_pyc: find . -iname "*.pyc" -delete find . -iname "__pycache__" | xargs rm -rf {} \;
在用Jenkins做持续集成的时候,twine有概率出现找不到配置文件的情况,这时候通过 --config-file 参数指定你机器上.pypirc的路径即可:
twine upload --config-file .pypirc -r local ./dist/*