在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

知识星球


