搭建本地私有pip源「建议收藏」

搭建本地私有pip源「建议收藏」目的1、用于内网内的pip安装2、整理个人使用的python第三方库3、个人开发公用库搭建环境1、centos72、python2/python3搭建步骤(python2相同)1、安装python3.7下载地址:https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz解压tar-xvJfPython-3.7.2.tar.xz创建编译安装目录mkdir/usr/local/python3

大家好,又见面了,我是你们的朋友全栈君。

目的

1、用于内网内的pip安装

2、整理个人使用的python第三方库

3、个人开发公用库

搭建环境

1、centos7

2、python2/python3

搭建步骤(python2相同)

1、安装python3.7

下载地址:https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz

解压
tar -xvJf  Python-3.7.2.tar.xz

创建编译安装目录
mkdir /usr/local/python3 

安装
cd Python-3.7.9
./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl 
#第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便.
#第二个可以提高python10%-20%代码运行速度.
#第三个是为了安装pip需要用到ssl,后面报错会有提到.
make && make install

创建软链接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

验证是否成功
python3 -V
pip3 -V

2、安装 pip2pi

在线安装
pip install pip2pi

离线安装
下载地址:https://pypi.doubanio.com/packages/9d/ad/47acabb00573eb0694fc8f9f1ca12d1d59220d35eb9f4d499ad445a66f17/pip2pi-0.8.1.tar.gz#sha256=135426f29a61d79e65ce27cd8b0eb2d738baeb8a9fb688f7fceb4878af878981

pip install   --no-index   --find-links=/home/   pip2pi

查看/usr/local/python3/bin
pip2pi  pip2tgz dir2pi
pip2tgz 用来同步官方网站软件包到本地
dir2pi 用来对本地的软件包创建索引

3、同步软件包

1、创建目录
mkdir  /work/pypi/Packages/

2、同步单个软件包
pip2tgz /work/pypi/Packages requests

3、批量同步
pip2tgz /work/pypi/Packages -r requirements.txt

注意:上述通过pip2tgz同步操作要保证有可以用的公网pip源,也可以通过pip直接下载包然后放在/work/pypi/Packages/目录下pip仅下载包:pip install   --download  /tmp pip2pi

4、创建索引

dir2pi /work/pypi/Packages/

搭建本地私有pip源「建议收藏」

5、安装web应用–nginx

安装nginx

基础环境安装
gcc 安装
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++

PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel

zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel

OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel

nginx安装
下载:wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
解压:tar -zxvf nginx-1.12.0.tar.gz
切换目录:cd nginx-1.12.0
安装:
./configure

make
make install

启动、停止、加载
cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

配置文件

切换目录
/usr/local/nginx/conf/nginx.conf

    server {
        listen       *:80;
        server_name  localhost;
        root /work/pypi/Packages;
        autoindex on;
        charset utf-8;
    }


重启 nginx
./nginx -s reload

6、访问simple 

搭建本地私有pip源「建议收藏」

7、测试机上使用私有pip库安装软件

pip install pytest -i http://10.12.104.220/simple/ --trusted-host 10.12.104.220

搭建本地私有pip源「建议收藏」

 

安装软件若有报错

ERROR: Could not find a version that satisfies the requirement colorama; sys_platform == “win32” (from pytest) (from versions: none)
ERROR: No matching distribution found for colorama; sys_platform == “win32” (from pytest)

说明私有库中缺少colorama,同步并创建索引即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144960.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 最近程序员频繁被抓,如何避免面向监狱编程!?「建议收藏」

    最近程序员频繁被抓,如何避免面向监狱编程!?「建议收藏」最近,有关程序员因为参与某些项目开发导致被起诉,甚至被判刑的事件发生的比较多:某程序员因为接了个外包,帮别人写了个软件,结果这个软件被用于赌博导致被抓。某公司利用爬虫抓取用户信息,最后被发现,导致该公司的程序员被抓。某P2P公司暴雷,老板跑路,程序员被抓。中科大博士卖“外挂”非法牟利300多万,被警方逮捕。那么,作为一个程序员,如何避免这些坑呢?怎样尽可能的保护自己呢?本文就从爬虫、赌…

    2022年6月9日
    29
  • 图书馆管理系统需求规格说明书

    图书馆管理系统需求规格说明书青院图书馆信息管理系统软件需求规格说明书文档编号 QY LY7 文档信息 图书馆信息管理系统软件需求规格说明书文档类别 管理文档密 nbsp nbsp nbsp nbsp 级 机密版本信息 1 0 建立日期 2014 05 20 nbsp 创 nbsp 建 nbsp 人 审 nbsp 核 nbsp 者 批 nbsp 准 nbsp 人 批准日期 nbsp 编辑软件 Microsoft nbsp Office nbsp 2003 nbsp 中文版 WPS nbsp 文字

    2025年9月2日
    3
  • vim编辑器显示行数过多_vim查看指定行

    vim编辑器显示行数过多_vim查看指定行设置ubuntu的vim编辑器显示行数,方法如下:1.打开终端输入:sudovi/etc/vim/vimrc,打开vim的配置文件(使用sudo可忽视vimrc文件的readonly属性);2.在配置文件中,找到最底行,点击键盘a键,打开输入模式;3.输入:setnu,设置显示行数;4.点击键盘esc键,退出输入模式,点击shift+:,输入:wq,保存退出;至此所有用vim打开的…

    2025年7月21日
    4
  • hdu 4912 Paths on the tree(lca+馋)

    hdu 4912 Paths on the tree(lca+馋)

    2022年1月11日
    33
  • 【Linux】vim的复制粘贴

    【Linux】vim的复制粘贴vim复制粘贴1.选定文本块。使用v进入可视模式,移动光标键选定内容。2.复制的命令是y,即yank(提起),常用的命令如下:y在使用v模式选定了某一块的时候,复制选定块到缓冲区用;yy复制整行(nyy或者yny,复制n行,n为数字);y^复制当前到行头的内容;y$复制当前到行尾的内容;yw复制一个word(nyw或者ynw,复制n个word,n为数字);yG复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)

    2022年9月16日
    2
  • SQL中declare_hive变量赋值

    SQL中declare_hive变量赋值平时写SQL查询、存储过程都是凭着感觉来,没有探究过SQL的具体语法,一直都是按c#那一套往SQL上模仿,前几天项目中碰到一个问题引起了我对declare定义变量的作用域的兴趣。大家都知道c#中的局部变量,在if中如果我们定义一个变量的话他的作用到if结束为止,if外是不识别这个变量的,else里都不能使用,简单的写一下。

    2022年8月20日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号