Nexus配置Pypi私库
一、使用docker安装
sonatype将 nexus3做成了docker镜像,安装过程十分简单
# 容器中的进程是以uid为200的用户执行
mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data
# 为了持久化存储,需要挂载到宿主机的某个目录
docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3
二、配置仓库
安装好nexus后,访问http://your-hostname.com:8081
,点击右上角登陆,默认账号为admin
,默认密码存放在容器内,使用以下命令获取:
docker exec nexus cat /nexus-data/admin.password
Nextus3的仓库都有三种类型:
- hosted:适用于存储公司内部的python包
- proxy:可以指定一个远程的源,当nexus本地无缓存时,会去该源下载相应的包。在这里插入图片描述其中,有两个需要注意参数:
Maximum component age
:默认为1440min (1day),表示一个组件(比如flask)的包会被缓存多久。超过该缓存时间之后,下次client对此包发起请求,则会再去远程的源拉一次(设置为**-1**表示永不失效)Maximum metadata age
:默认为1440min(1day),表示包的metadata
信息会缓存多久。假设我们的项目依赖A
,官方刚刚更新了包A
的版本,我们也将项目中A
的版本改为最新版本,由于metadata
最大失效时间为1天,我们install的时候有可能提示找不到最新的版本。该值设为0表示每次都去请求最新的metadata
,-1表示只用本地缓存。
- group:组合多个hosted/proxy/group,提供统一访问地址
分别创建上述的三个仓库,命名为pypi-repo, pypi-central, pypi-public
:
常用pypi源:
清华大学:https://pypi.tuna.tsinghua.edu.cn/
阿里云:http://mirrors.aliyun.com/pypi/
豆瓣(douban): http://pypi.douban.com/
官方源:https://pypi.org
三、安装python包
# 如果没用配置https,则需要加上--trusted-host
pip install flask django -i http://your-hostname.com:8081/repository/pypi-public/simple/ \ --trusted-host your-hostname.com
成功安装后,nexus仓库上就会有这些包的缓存
仓库下的simple
文件夹里面存放着各个包的metadata
信息,这也是为什么我们在install指定-i
参数的时候url是.../pypi-public/simple/
也可以全局配置pip的proxy
mkdir ~/.pip
vim ~/.pip/pip.conf[global]
index-url = http://your-hostname.com:8081/repository/pypi-public/simple/
trusted-host = your-hostname.com
四、上传python包
打包过程参考Packaging Python Projects
上传我们自己的包需要指定hosted
仓库:
python3 -m twine upload --repository-url http://your-hostname.com:8081/repository/pypi-repo/ dist/*username: xxx
password: xxx
按这种方式每次上传时需要填写用户名密码,如果不想每次都输入,在~/.pypirc
文件下写入:
[distutils]
index-servers =nexus
[nexus]
repository: http://your-hostname.com:8081/repository/pypi-repo/
username: xxx
password: xxx
以后上传只需执行:
python -m twine upload -r nexus dist/*
Refs
Nexus for pipy
Nexus配置Pypi私库相关推荐
- Nexus 配置yum私库
文章目录 前序 base 私库地址的配置规则 epel-release online local 让nexus私库缓存你的rpm包 repomd.xml signature could not be ...
- 【Nexus】通过Nexus搭建Npm私库
[Nexus]通过Nexus搭建Npm私库 1.简介 2.安装Nexus 3.配置远程Npm源 3.1.安装 3.2.说明 4.修改本地Npm连接源 5.发布自己的npm组件到私服 5.1.登录私服 ...
- 【Windows】使用Nexus搭建npm私库,管理npm包,并在项目中下载
文章目录 一.Nexus在Windows环境下的安装与启动 1.下载安装包 2.配置环境变量 3.启动Nexus 4.访问网页 二.Nexus使用 1.登录 2.创建仓库 (1) 创建npm(host ...
- NEXUS各类型私库搭建
例子 本示例地址:https://youstudio.cn:7180/ 管理员帐号admin密码admin123 首先了解基本nexus界面的操作,以下操作后续在详细过程不在提及. 具体配置可以直接登 ...
- nexus搭建npm私库
参考文章 安装docker 参考文章 安装nexus 打开我们安装好的nexus地址,登录 点击左上角设置图标,进入管理页面 创建之前大概讲一下思路: 创建三个库,分别为npm-proxy.npm-n ...
- 使用nexus搭建npm私库
视频教程:点击进入 1.docker启动nexus docker run -d --name nexus3 --restart=always -p 8081:8081 -p 5000:5000 -v ...
- 如何使用nexus3在无外网情况下(如云桌面)配置npm私库
Nexus3配置npm私服有三个类型: host:本地存储,提供本地私服功能,可上传 proxy:提供代理其他仓库的类型 group: 组类型,组合多个仓库为一个地址,最终开发人员使用镜像源为该gro ...
- 最详细的golang + 私库(gitlab gitee) 模块开发 这一篇文章解决所有问题
golang独立模块开发流程 大纲 基本概念与背景 模块开发流程总结 基于gitee私库 基于gitlab私库 基本概念与背景 java项目开发过程中,有不同的项目组,有的项目组做业务开发,有的项目组 ...
- linux 内网环境搭建 maven 私库
linux 内网环境搭建 maven 私库 参考资料: https://www.codenong.com/cs106446840/ https://blog.csdn.net/lch_wyl/arti ...
最新文章
- 有服主传送玩家指令_我的世界:狗子传送机学废了?没关系,简单无脑的WiFi红石来了!...
- 多线程程序 怎样查看每个线程的cpu占用
- R语言包在linux上的安装等知识
- icmp基于tcp还是udp_面试爱考、编程必会基础!TCP/IP必知必会10大问题……
- (pytorch-深度学习)门控循环单元(GRU)
- Decision Tree学习笔记(基础篇)
- 几时几分几秒怎么写_泼尿 涂油漆 写威胁语 业主莫名被骚扰
- Servlet(JSP)中动态生成JPG PNG透明 水印图像
- Windows键盘如何映射为Mac使用
- linux以http方式搭建git服务器
- 如何解决大规模高性能存储可靠性问题?
- 太原科技大学计算机宿舍,太原科技大学宿舍怎么样
- dnf脚本-技能冷却获取可以使用的技能
- linux连win7打印机,如何在CentOS 6.5下安装Win7下的共享打印机服务
- 外卖cps美团饿了么小程序 每天领取外卖优惠券 下单直接抵扣现金(外卖cps返利分销小程序源码)
- 浅谈 Android Dex 文件
- 菜狗杯Misc迅疾响应wp
- windows技巧之添加右键菜单
- 结合GUI和simulink的三相电路谐波的检测与建模
- 如何修改大商创头部色调