使用nexus搭建内网pypi服务器

2020-01-21  本文已影响0人  yytester

linux安装的坑

上传包之后,需要修改的内容:

  1. ~/bin/nexus设置java路径
    INSTALL4J_JAVA_HOME_OVERRIDE="/root/mynexus/nexus-3.19.1-01/bin/jdk1.8.0_141"
    INSTALL4J_JAVA_PREFIX="$JAVA_HOME"

  2. 设置允许root
    run_as_root=false

  3. 修改~/nexus.vmoptions

-Xms512m
-Xmx666m
-XX:MaxDirectMemorySize=667m

默认的内存(2703m)太大了,在阿里云最低配置里无法启动,而且看不到报错信息.

mac安装

  1. 解压文件后,进入/Users/apple/nexus-3.17.0-01-mac/nexus-3.17.0-01/bin,运行服务: ./nexus start
  2. 访问http://127.0.0.1:8081/#browse/search/pypi,默认账户:admin/admin123

查看本机java路径: which java
然后修改./nexus文件,加入java路径INSTALL4J_JAVA_PREFIX="/usr/bin/java"

开始

  1. 创建仓库界面: image.png
  2. 创建代理库proxy
  3. 创建host库
  4. 创建group库,把上面创建的proxy和host包含进来
  5. group库名字,即是将来要使用的.
  6. (最好是开个venv虚拟环境)开始通过nexus下载第三方库,命令:pip3 install -i http://localhost:8081/repository/my_group/simple flask
    image.png

拷贝库去内网

image.png

[图片上传中...(image.png-c032a7-1584407214706-0)]

image.png

第一次需要建立Tasks,以后备份时只需要Run这个任务就行了.

执行完成,会生成文件夹:

image.png

* 把/Users/apple/Downloads/nexus-3.17.0-01-mac/sonatype-work/nexus3路径下的0205(阿里云上对应文件夹是export_pypi)和blobs文件夹压缩,传到内网.(其中0205文件夹里只需要传最新的一份备份)


2020.12更新 本地mac 转 内网linux

  1. 在本地mac手动执行task备份
  2. /Users/xxx/nexus-3.17.0-01-mac/sonatype-work/nexus3目录下的blobsexport-mac-python文件夹拷贝进入内网.

数据库还原

blobs还原


本机已有一些库怎么办?

  1. 清除本地第三方库:
    pip freeze > packages.txt
    pip uninstall -r packages.txt
  2. 打开虚拟环境,重新通过本地nexus安装第三方库

使用过程中要注意,如果你的内网windows电脑是python3.8版本,那么外网用的windows也一定要是python3.8版本, 否则某些库可能无法安装.


通过云主机,下载mac,windows,linux三个平台的库

有些第三方库,区分了不同操作系统, 所以有时候在mac主机上通过nexus下载的库, 拷贝到内网windows或linux机器上无法使用.
操作步骤:

  1. 在云主机搭建nexus
  2. 在mac , linux, windows笔记本上,分别通过云主机下载所需的第三方库
  3. 导出云主机的nexus库,拷贝到内网nexus服务器上即可
上一篇 下一篇

猜你喜欢

热点阅读