基于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 相关文章推荐
python写的一个squid访问日志分析的小程序
Sep 17 Python
在Python中操作文件之seek()方法的使用教程
May 24 Python
浅谈Python黑帽子取代netcat
Feb 10 Python
使用python爬取抖音视频列表信息
Jul 15 Python
Pytorch加载部分预训练模型的参数实例
Aug 18 Python
Django使用中间件解决前后端同源策略问题
Sep 02 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
Dec 17 Python
python扫描线填充算法详解
Feb 19 Python
Django权限设置及验证方式
May 13 Python
Django通过设置CORS解决跨域问题
Nov 26 Python
python 操作excel表格的方法
Dec 05 Python
python基于tkinter制作下班倒计时工具
Apr 28 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
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
PHP7常量数组用法分析
2016/09/26 PHP
php多线程并发实现方法
2016/09/30 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
PHP7 弃用功能
2021/03/09 PHP
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
canvas实现流星雨的背景效果
2017/01/13 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
微信小程序与公众号实现数据互通的方法
2019/07/25 Javascript
javascript异常处理实现原理详解
2020/02/17 Javascript
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
Python3实现发送QQ邮件功能(附件)
2020/12/23 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
python中下标和切片的使用方法解析
2019/08/27 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
python实现同一局域网下传输图片
2020/03/20 Python
Python extract及contains方法代码实例
2020/09/11 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
自主招生自荐信范文
2013/12/04 职场文书
庆元旦文艺演出主持词
2014/03/27 职场文书
小学生通知书评语
2014/12/31 职场文书
初三化学教学反思
2016/02/22 职场文书
小数乘法教学反思
2016/02/22 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技