5分钟学会本地Pypi源搭建

article/2025/8/29 2:01:24

前言


通常我们在下载 python 包时都会选择清华源或者阿里源。但是当我们的开发环境无法访问外网的时候,就需要搭建私有源。今天我们就一起花 5 分钟时间学习如何搭建一个本地私有源。

工具选择


搭建本地私有源有很多种方案,包含但不限于 pypiserver,pip2pi,bandsnatch,其中 pypiserver 上手难度最小,使用方便,功能简单。后两个适用于搭建企业级的源,因为其拥有自动同步包的功能。

服务搭建


下载 pypiserver

pip install pypiserver
复制代码

创建包路径

mkdir ~/packages
复制代码

启动服务

PS C:\Users\admin> pypi-server.exe
127.0.0.1 - - [23/Jun/2021 10:44:49] "GET / HTTP/1.1" 200 1007
127.0.0.1 - - [23/Jun/2021 10:44:54] "GET /simple/ HTTP/1.1" 200 221
127.0.0.1 - - [23/Jun/2021 10:45:25] "POST /RPC2 HTTP/1.1" 200 509
复制代码

查看 web 页面

到此,服务启动完成。

准备包


首先,我们切换到 ~/packages 目录下,然后将自己的 python 包拷贝到这里,或者将已经下载好的包上传到此目录下。

我们选择直接从外源下载。

下载示例包

cd ~/packages
pip download -i https://pypi.tuna.tsinghua.edu.cn/simple simplejson
复制代码

从本地源搜索

PS C:\Users\admin\packages> pip search -i http://localhost:8080 simplejson
simplejson (3.17.2)  - 3.17.2
PS C:\Users\admin\packages>
复制代码

安装包


安装前

PS C:\Users\admin\packages> pip show simplejson
WARNING: Package(s) not found: simplejson
PS C:\Users\admin\packages>
复制代码

安装

PS C:\Users\admin\packages> pip install -i http://localhost:8080/simple simplejson
Looking in indexes: http://localhost:8080/simple
Collecting simplejsonDownloading http://localhost:8080/packages/simplejson-3.17.2-cp37-cp37m-win_amd64.whl (73 kB)|████████████████████████████████| 73 kB ...
Installing collected packages: simplejson
Successfully installed simplejson-3.17.2
PS C:\Users\admin\packages>
复制代码

安装后

PS C:\Users\admin\packages> pip show simplejson
Name: simplejson
Version: 3.17.2
Summary: Simple, fast, extensible JSON encoder/decoder for Python
Home-page: https://github.com/simplejson/simplejson
Author: Bob Ippolito
Author-email: bob@redivi.com
License: MIT License
Location: d:\python37\lib\site-packages
Requires:
Required-by:
PS C:\Users\admin\packages>
复制代码

到此本地 pypi 源搭建全部结束。

Linux 上的搭建方法和 Windows 基本一致。

Tip


此次试验搭建的源仅供开发使用,如果需要搭建企业级的私有源,需要定时同步官方源,建议您使用 bandsnatch 进行搭建。

以上就是今天的全部内容了,感谢您的阅读,我们下节再会。

 

转载至https://developer.aliyun.com/article/973587


http://chatgpt.dhexx.cn/article/Vt2RtOFr.shtml

相关文章

Python!Python!

2019独角兽企业重金招聘Python工程师标准>>> 条件分支: if 条件: 条件为真 (所有缩进都会执行) else: 条件为假 While循环 while 条件: 条件为真(true)执行动作 for..in递归使用序列对象中的每个项目 and逻辑操作符 and逻辑操作符可以将任意表达式链接在一起&#x…

已解决Could not fetch URL https://pypi.tuna.tsinghua.edu.cn/simple/pip/: There was a problem confirming

已解决(pip升级报错) WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Requirement already satisfied: pip in …

python--pip常用命令、国内PyPI镜像、使用pip安装第三方库

让我们来看看具体内容&#xff1a; 一. pip常用命令 列出已安装的包&#xff1a; pip freeze or pip list 导出requirements.txt&#xff1a; pip freeze ><目录>/requirements.txt 在线安装包&#xff08;模块库&#xff09;&#xff1a; pip install <包名>…

Python 库 PyPI 危机!

据 BleepingComputer 报道&#xff0c;Python 官方软件包存储库 PyPI 遭受了黑客攻击&#xff0c;攻击者通过注入大量垃圾邮件包的形式发起了洪水攻击&#xff0c;这些垃圾邮件及软件包通过采用电影&#xff0c;电视节目名称来命名&#xff0c;有些还包含了年份、在线、免费等字…

【Python包管理系列1】python打包发布到PyPI全过程(入门版)

文章目录 目的准备知识PyPIPyPAsetuptoolsbuildtwine 实战过程总结 目的 如果发布一个python包到pypi上&#xff0c;共他人使用&#xff0c;本文试图讲清楚。 准备知识 PyPI 官网地址&#xff1a;https://pypi.org/ 全称Python Package Index&#xff08;Python包索引&#…

PyPy

pypy 原理 pypy 原理为何 PyPy 是趋势&#xff1f;即时编译: PyPy和它的未来PyPy is Hard to Understand结尾总之&#xff1a; GIL&#xff0c;即全局解释器锁&#xff08;Global Interpreter Lock&#xff09;&#xff0c;是计算机程序设计语言解释器用于同步线程的工具&…

Linux系统安装DB2数据库详解

1、上传DB2安装文件 将 DB2 安装文件及 DB2 补丁文件上传到服务器上 打开终端对其进行解压 2、安装前注意事项 &#xff08;1&#xff09;要求服务器磁盘空间至少为1000M &#xff08;2&#xff09;安装之前不要创建 db2inst1、db2fenc 等用户 &#xff08;3&#xff09;db…

windows下db2创建数据库

windows下db2创建数据库 1.找到命令行dbcmd 打开电脑&#xff0c;进入电脑操作系统&#xff0c;使用快捷键组合WINR键可以直接打开运行&#xff0c;输入dbcmd命令行&#xff0c;即可直接打开db2命令行dbcmd。 2.使用db2start启动db2数据库 通过以上方法&#xff0c;在电脑…

db2数据库(db2数据库安装)

db2是什么&#xff0c;它和oracle有什么本质的区别&#xff1f; oracle和SQL SERVER都是用SQL语句可以编写数据库&#xff0c;但语法有区别&#xff0c;我楼上说的SQL SERVER说不稳定&#xff0c;也不一定吧&#xff5e;这里我说的都是正版&#xff0c;不过ORACLE确实是现在企业…

JDBC连接DB2数据库

前言 分享一个工作上遇到的问题&#xff0c;使用JDBC连接DB2数据库&#xff0c;我这里使用的是Gradle&#xff0c;我发现网上使用Gradle的太少了&#xff0c;大部分使用的是maven&#xff0c;不论使用哪一个&#xff0c;都建议下载jar包到本地&#xff0c;使用手动添加进项目里…

【windows版本】 db2数据库安装与使用

0.目录 1.安装DB2数据库1.创建数据库2. 配置链接参数3.工具链接4. 参考5.其他 说句真心话&#xff0c;真TMD讨厌IBM的软件&#xff0c;IBM的软件下载真是TMD不容易。要不是公司项目需求&#xff0c;谁TMD还喜欢用IBM的软件&#xff0c;真气人。 本文的目的&#xff1a; 1&#…

DB2数据库基本概念

http://db365.net/home.php?modspace&uid19鉴于CSDN无故删除博文&#xff0c;本博客不再更新&#xff0c;暂时迁至http://www.db365.net 1 DB2数据库基本概念 1.1数据库对象 关键的数据库对象包括&#xff1a;实例、数据库、节点组、表、视图、索引、模式、系统目录表。…

DBeaver连接db2数据库

DBeaver工具安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1ruEF0dDkbYDy02-aYxuj8w 密码&#xff1a;l0t4 db2驱动包: 链接&#xff1a;https://pan.baidu.com/s/1OaSHGi7toIhKCk8fNEv-CQ 密码&#xff1a;tazm 安装好DBeaver工具后 1、新建连接 2、连接…

DB2数据库

DB2是IBM公司研制的一种关系型数据库系统&#xff0c;它主要应用于大型应用系统&#xff0c;具有很强的海量数据处理能力&#xff0c;具有较好的可伸缩性 教学地址 可支持从大型机到单用户环境&#xff0c;包括DB2工作组版&#xff08;DB2Workgroup Edition&#xff09;、DB2企…

socket绑定的ip为INADDR_ANY 的意义 htonl(INADDR_ANY)(0.0.0.0所有地址、不确定地址、任意地址)(htonl和htons区别)

INADDR_ANY 表示监听0.0.0.0地址&#xff0c;socket只绑定端口&#xff0c;不绑定本主机的某个特定ip&#xff0c;让路由表决定传到哪个ip&#xff08;0.0.0.0地址表示所有地址、不确定地址、任意地址&#xff09;&#xff08;一台主机中如果有多个网卡就有多个ip地址&#xff…

ntohs, ntohl, htons,htonl的比较和详解

假设在x86平台上,有一个int型变量,在内存中的内部由低到高分别是:0x12,0x34,0x56,0x78当通过网络发送该数据时,正确的发送顺序是 0x78,0x56,0x34,0x12 X86 系列 CPU都是 little&#xff0d;endian 的&#xff0c;所以int 型变量值为 0x78563412, 网络发送数据时&#xff0c;采…

c语言中htonl函数,htonl()函数学习

今天在网上看到一篇关于htonl()函数的解释,感觉有道理,贴过来大家一起学习! htonl就是把本机字节顺序转化为网络字节顺序 h---host 本地主机 to 就是to 了 n ---net 网络的意思 l 是 unsigned long 所谓网络字节顺序(大尾顺序)就是指一个数在内存中存储的时候“高对低&#x…

ntohl()、htonl()函数

ntohl()将一个无符号长整形数从网络字节顺序转换为主机字节顺序&#xff0c; ntohl()返回一个以主机字节顺序表达的数。ntohl()返回一个以主机字节顺序表达的数。 htonl()将主机数转换成无符号长整型的网络字节顺序。本函数将一个32位数从主机字节顺序转换成网络字节顺序。 #…

Linux网络编程笔记 - 03 UDP - 主机字节序转换网络字节序函数

只要数据大于2个字节,发数据时一定要转成大端。 htons:一般用于转换端口号,short,2字节 htonl:一般用于转换ip,long,4字节 ntohl:将网络大端数据转换成主机可以识别的顺序,long = 4字节 ntohs:将网络大端数据转换成主机可以识别的顺序,short = 2字节 book@100a…

C语言详解:指针

文章目录 指针1. 指针的定义1.1 内存划分1.2 指针与指针变量1.3 指针的大小 2. 指针的类型2.1 指针解引用方面2.2 指针 整数方面2.3 总结 3 野指针3.1 野指针的定义3.2 野指针的成因3.3 如何规避野指针 4 指针运算4.1 指针 整数4.2 指针-指针4.3 指针关系运算 5 指针和数组6.…