在python项目中,需要引入第三方的包,可以通过pip很简单的引入;但是有个问题,公司内部的包,也不能发布到pypi仓库吧,所以搭建自己的私服就很有必要了,下面介绍一下基于PypiServer搭建私服的教程
I. 搭建教程
1. 安装方式
首先确认我们的环境时Centos,python版本为3.7
安装命令比较简单,如下
1 | pip install pypiserver |
上面完成之后,就可以开启私服了
1 | pypi-server -p 8080 -P . -a . ~/python-repository/packages |
上面的 -P . -a .
表示我们开启的私服,不要求安全校验,可以直接下载和上传包
2. 安全校验
上面的没有加安全限制,实际场景可能就不太合适了,如果我们要加上用户名/密码限制,可以如下配置
安装 htpasswd
1 | pip install passlib |
生成密码文件: 用户名+密码= user/pwd123456
1 | htpasswd -sc htpasswd.txt user |
上面执行之后,会提示输入密码,完成之后,就over了
接下来,我们启动私服,需要修改一下启动命令,下面-a list
表示上传,下载,查看包都需要校验
1 | pypi-server -P htpasswd.txt -a list -p 8888 ~/python-repository/packages |
3. 使用说明
前面的私服算是搭建完成了,接下来就是使用姿势了,对我们而言,需要关注的无非安装和发布两个操作了
发布包
首先设置配置文件,vim ~/.pypirc
1 | [distutils] |
然后到需要上传的项目下,执行下面的命令即可
1 | python3.7 setup.py sdist upload -r local |
安装包
我们通过pip进行包安装,默认是从pypi.org
下载包,所以需要额外设置下从私服下包
设置配置文件: vim ~/.pip/pip.conf
1 | [global] |
其中 extra-index-url 的value 前面是用户名:密码,注意走的是http协议,因此需要在下面配置上信任host
上面配置完毕之后,下载包就可以和之前的操作一样了
1 | pip3.7 install demoPackage==1.0.0 |
II. 其他
1. 一灰灰Blog: https://liuyueyi.github.io/hexblog
一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
2. 声明
尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
- 微博地址: 小灰灰Blog
- QQ: 一灰灰/3302797840
3. 扫描关注
一灰灰blog
知识星球