基于nexus3配置Python仓库过程详解


Posted in Python onJune 15, 2020

搭建Python私服,我们依旧使用nexus3。

与其他私服一样的,Python私服同样有三种类型:

hosted : 本地存储,便于开发者将个人的一些包上传到私服中proxy : 提供代理其他仓库的类型,如豆瓣的pypi仓库group : 组类型,实质作用是组合多个仓库为一个对外的地址

那么就来一个一个创建。

1,创建blob存储

为其创建一个单独的存储空间。

基于nexus3配置Python仓库过程详解

2,创建hosted类型的pypiName: 定义一个名称local-pypiStorage
Blob store,我们下拉选择前面创建好的专用blob:pypi-hub。Hosted

开发环境,我们运行重复发布,因此Delpoyment policy 我们选择Allow redeploy。这个很重要!

基于nexus3配置Python仓库过程详解3,

创建一个proxy类型的pypi仓库Name: proxy-pypiProxyRemote Storage: 远程仓库地址,这里填写: http://pypi.python.org/pypi/
上边的是官方的仓库地址,还有其他几个国内常见的,罗列如下:阿里云:http://mirrors.aliyun.com/pypi/中国科技大学:https://pypi.mirrors.ustc.edu.cn/豆瓣:http://pypi.douban.com/清华大学:https://pypi.tuna.tsinghua.edu.cn/中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/Storage: pypi-hub。

其他的均是默认。

整体配置截图如下:

基于nexus3配置Python仓库过程详解

另外几个仓库同上操作,一一创建,当然也不必全部都加,根据自己实际需求添加即可。

4,创建一个group类型的pypi仓库Name:group-pypiStorage:选择专用的blob存储pypi-hub。group : 将左边可选的4个仓库,添加到右边的members下。

整体配置截图如下:

基于nexus3配置Python仓库过程详解

这些配置完成之后,就可以使用了。

5,验证使用1,指定配置

新建一台环境干净的主机,安装好Python的pip环境。可通过如下命令进行安装:

yum -y install epel-releaseyum -y install python36 python36-devel

然后通过命令行随便安装一个包,安装的时候,将代理指向我们的私服来。这个地方遇到了两个坑,这里用两个注意来进行提醒。

注意:在指定刚刚配置的私服时,需要在统一对外的地址最后加上一个simple。注意: 在第一次进行安装测试的时候,一定要指定测试包的版本,否则可能会报如下错误:

ERROR: Could not find a version that satisfies the requirement django (from versions: none)ERROR: No matching distribution found for django

这个时候指定一下包的版本,就下载成功了,而在往后的下载,就不需要指定版本了。

基于nexus3配置Python仓库过程详解

通过如下命令进行验证:

[root@master ~]# pip3 install --trusted-host 192.168.75.11 -i http://192.168.75.11:8081/repository/group-pypi/simple flask 
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting flask
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/flask/1.1.2/Flask-1.1.2-py2.py3-none-any.whl (94kB)
  100% |????????????????????????????????| 102kB 7.8MB/s 
Collecting Werkzeug>=0.15 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/werkzeug/1.0.1/Werkzeug-1.0.1-py2.py3-none-any.whl (298kB)
  100% |????????????????????????????????| 307kB 49.6MB/s 
Collecting Jinja2>=2.10.1 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/jinja2/2.11.2/Jinja2-2.11.2-py2.py3-none-any.whl (125kB)
  100% |????????????????????????????????| 133kB 69.8MB/s 
Collecting click>=5.1 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/click/7.1.2/click-7.1.2-py2.py3-none-any.whl (82kB)
  100% |????????????????????????????????| 92kB 6.6MB/s 
Collecting itsdangerous>=0.24 (from flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/itsdangerous/1.1.0/itsdangerous-1.1.0-py2.py3-none-any.whl
Collecting MarkupSafe>=0.23 (from Jinja2>=2.10.1->flask)
 Downloading http://192.168.75.11:8081/repository/group-pypi/packages/markupsafe/1.1.1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: Werkzeug, MarkupSafe, Jinja2, click, itsdangerous, flask
Successfully installed Jinja2-2.11.2 MarkupSafe-1.1.1 Werkzeug-1.0.1 click-7.1.2 flask-1.1.2 itsdangerous-1.1.0

这个时候去私服的库里看下,已经可以看到刚刚安装的几个包了。

基于nexus3配置Python仓库过程详解

2,全局配置

通过添加全局配置,就不需要每次执行编译的时候指定私服地址了:

mkdir ~/.pip
cat > ~/.pip/pip.conf << EOF
[global]
timeout = 60
trusted-host = 192.168.75.11
index-url = http://192.168.75.11:8081/repository/group-pypi/simple
EOF

保存之后,本机的代理就走本地的私服了。

基于nexus3配置Python仓库过程详解
基于nexus3配置Python仓库过程详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
改进Django中的表单的简单方法
Jul 17 Python
python+opencv实现动态物体追踪
Jan 09 Python
python实现爬取图书封面
Jul 05 Python
Matplotlib中文乱码的3种解决方案
Nov 15 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 Python
python 如何去除字符串头尾的多余符号
Nov 19 Python
python使用正则来处理各种匹配问题
Dec 22 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
Apr 16 Python
重写django的model下的objects模型管理器方式
May 15 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 #Python
在keras里面实现计算f1-score的代码
Jun 15 #Python
Python流程控制语句的深入讲解
Jun 15 #Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 #Python
python语言是免费还是收费的?
Jun 15 #Python
DataFrame.groupby()所见的各种用法详解
Jun 14 #Python
详解pandas.DataFrame.plot() 画图函数
Jun 14 #Python
You might like
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
js Canvas实现的日历时钟案例分享
2016/12/25 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
vue实现微信分享功能
2018/11/28 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
使用easyui从servlet传递json数据到前端页面的两种方法
2019/09/05 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
Python使用内置json模块解析json格式数据的方法
2017/07/20 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python爬虫之正则表达式的使用教程详解
2018/10/25 Python
Python实现插入排序和选择排序的方法
2019/05/12 Python
完美解决pycharm导入自己写的py文件爆红问题
2020/02/12 Python
Python json模块与jsonpath模块区别详解
2020/03/05 Python
如何理解python面向对象编程
2020/06/01 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
英国标准协会商店:BSI Shop
2019/02/25 全球购物
毕业生如何写自我鉴定
2014/03/15 职场文书
初中班主任寄语
2014/04/04 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
灵山大佛导游词
2015/02/04 职场文书
2015年纪委工作总结
2015/05/13 职场文书
给下属加薪申请报告
2015/05/15 职场文书
活动主持人开场白
2015/05/28 职场文书
导游词之潮音寺
2019/09/26 职场文书