搭建本地私有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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Redis学习——Redis事务[通俗易懂]

    Redis和传统的关系型数据库一样,因为具有持久化的功能,所以也有事务的功能! 面试官:请问Redis支持事务吗?如果支持和传统的关系型数据的事务有什么区别? 应试者:支持,但是是部分支持。

    2022年2月26日
    35
  • c语言爱心代码详解_C语言程序源代码

    c语言爱心代码详解_C语言程序源代码1、love图案的C语言爱心代码C语言爱心代码如下:#include<stdio.h>intmain(){inti,j,k,n=0,x=0,y=50;//爱心的头部没有规律,所以直接打印printf(“\n\n\n\n\n”);printf(“lovelovelovelove\n”);printf(“lovelovelove

    2022年10月13日
    6
  • 我的世界java版和基岩版对比_我的世界:盘点基岩版与JAVA版的差异,看完后选谁就一目了然了…

    我的世界java版和基岩版对比_我的世界:盘点基岩版与JAVA版的差异,看完后选谁就一目了然了…大家好,今天我们来讲讲基岩版与JAVA版的差异,根据个人爱好不同,看完后选谁就一目了然了。1.基岩版与Win10版的特性是相同的。JAVA版与Win10没什么相同的地方。2.基岩版是没有活塞bud的,而JAVA有更多bud状态。3.基岩版在红石方面会比较便捷,如基岩版的活塞可以推动容器,而JAVA版则没有这个特性。4.JAVA版有比基岩版更多的MOD。5.JAVA版的命名牌改成某个名字(忘记是什么…

    2022年7月7日
    31
  • ResNet34+Unet(可以直接用)

    ResNet34+Unet(可以直接用)importtorchfromtorchimportnnimporttorch.nn.functionalasF#因为ResNet34包含重复的单元,故用ResidualBlock类来简化代码classResidualBlock(nn.Module):def__init__(self,inchannel,outchannel,stride,shortcut=None):super(ResidualBlock,self).__init__(

    2022年10月5日
    3
  • 无法解析外部符号

    无法解析外部符号本人在写qt工程的时候遇到无法解析外部符号原因:只写了类声明,但还没有写实现类,造成调用时无法解析。解决方法,把还没有实现类的声明给注释掉。参考博客无法解析的外部符号考虑可能的原因:[0]出现无法解析可能是因为lib文件不正确,比如64位的编译配置,结果使用的是32位的lib包.[1]只写了类声明,但还没有写实现类,造成调用时无法解析[2]声明和定义没有统一,造成链接不一致,无法

    2022年6月28日
    25
  • 高德地图-设置点标注的文本标签「建议收藏」

    高德地图-设置点标注的文本标签「建议收藏」1、问题背景   高德地图中,设置选中位置,并自定义图标和文字提示2、实现源码 高德地图-设置点标注的文本标签 varmap=newAMap.Map(“container”,{ resizeEnable:true, center:[115.397428,41.90

    2022年5月22日
    176

发表回复

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

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