导航:首页 > 编程语言 > python镜像库

python镜像库

发布时间:2022-12-28 19:07:37

python第三方库,国内镜像源(清华&阿里)

命令
例:
pip install -i https://pypi.tuna.tsinghua.e.cn/simple pyqt5

国内两个镜像源:
清华: https://pypi.tuna.tsinghua.e.cn/simple
阿里: http://mirrors.aliyun.com/pypi/simple

❷ 怎么在局域网发布python的pypi镜像源

默认pip是使用Python官方的源,但是由于国外官方源经常被墙,导致不可用,我们可以使用国内的python镜像源,从而解决Python安装不上库的烦恼。

注意后面要有/simple目录!!!

❸ python3.7基础镜像有多大

选择基础镜像的难题
在使用Docker部署某类服务时,第一个面临的问题就是选择一个基础镜像。那么如何选择基础镜像更有利于我们的工作呢?

我们知道docker是基于linux的,任何一个镜像,其包含的 bins/libs/files 都可以认为是属于特定linux版本的一部分。linux一切皆文件的思想下,我们在使用docker制作服务镜像部署时,包管理、环境设置、程序安装、命令格式、文件系统、兼容性等对于不同linux版本都可能有一些区别,所以,选择一个习惯使用的linux版本就变得尤为重要。
举例来说,我需要经常用docker部署Python应用。在docker hub中选择哪个基础镜像呢?搜索“适合Python开发的Docker镜像”会有很多文章,常用的主要有Alpine、Stretch、Jessie等,默认版本是基于Ubuntu的,但是太大了。

Alpine是一个微型linux系统,选择这个版本镜像的很多,因为它足够小,但是实际项目使用时却发现各种各样的问题。最大问题就是它的c运行库采用 musl-libc 而不是linux各发行版的 glibc,所以涉及c运行时会有兼容性的问题。

2、定制基础镜像
在选择基础镜像的问题上踩坑无数之后,决定换个角度想:为什么不基于特定的linux版本,自己制作一个基础镜像呢?这样自己又熟悉,又有开发环境来验证问题,而且很多制作应用镜像时遇到的问题,都可以在定制的基础镜像中一次性解决。

从这个想法出发,我选择熟悉的linux版本基础镜像,然后在其中按需求安装Python环境,一切都跟在服务器上安装Python环境一样,这不就又回到了熟悉的操作了吗?不同的是,这些只需要做一次就可以了,得到自己定制的Python基础镜像,后面制作各种应用镜像时,只需要pip安装依赖库、复制文件、添加命令就可以了。

这个方法同样适用其他的环境基础镜像定制,选择自己的linux基础镜像,在其中像往常一样安装需要的环境。这样,就可以从镜像里不熟悉的文件系统中解脱出来了。

3、定制CentOS系统Python基础镜像
下面给出一个实例:

开发环境:CentOS 7

Python版本:3.6

# 完整功能python3 imiyuer/python:3.6.4-centos
FROM centos:7.5.1804
MAINTAINER imiyuer <[email protected]>

ENV PATH $PATH:/usr/local/python3/bin/
ENV PYTHONIOENCODING utf-8

RUN set -ex \
# 替换yum源
&& mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup \
&& curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \
&& sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo \
# 安装python依赖库
&& yum makecache \
&& yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget \
&& yum clean all \
&& rm -rf /var/cache/yum \
# 下载安装python3
&& wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz \
&& mkdir -p /usr/local/python3 \
&& tar -zxvf Python-3.6.4.tgz \
&& cd Python-3.6.4 \
&& ./configure --prefix=/usr/local/python3 \
&& make && make install && make clean \
# 修改pip默认镜像源
&& mkdir -p ~/.pip \
&& echo '[global]' > ~/.pip/pip.conf \
&& echo 'index-url = https://pypi.tuna.tsinghua.e.cn/simple' >> ~/.pip/pip.conf \
&& echo 'trusted-host = pypi.tuna.tsinghua.e.cn' >> ~/.pip/pip.conf \
&& echo 'timeout = 120' >> ~/.pip/pip.conf \
# 更新pip
&& pip3 install --upgrade pip \
# 安装wheel
&& pip3 install wheel \
# 删除安装包
&& cd .. \
&& rm -rf /Python* \
&& find / -name "*.py[co]" -exec rm '{}' ';' \
# 设置系统时区
&& rm -rf /etc/localtime \
&& ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
登录后复制

比如我的生产环境是centos:7.5.1804,就选择它作为基础镜像。

将Python安装在/usr/local/python3,所以把程序路径添加到PATH环境变量,后续安装的python程序就不需要再添加环境变量或软连接。添加Python的encoding环境变量为utf-8。

后面下载安装Python的过程就都比较熟悉了,玩过Python的人都知道。

最终生成镜像大小:453MB,感觉还好。alpine镜像是90M但是很坑,默认python镜像是689MB。

几点说明:

1、RUN中尽量使用 \ &&连接命令的方式,减少镜像层数,可以一定程度减少体积。

2、尽可能删除不需要的文件,也是为了减少镜像体积。

3、Python默认不安装wheel,但是第三方库常需要使用wheel安装,所以加上它。

4、docker运行时程序获取系统时间时,如打印日志等,获取的是docker镜像内文件系统的时区设置,默认是格林尼治标准时区,所以需要设置为所在的时区。

❹ Python 镜像源设置与代理

1、在%appdata%目录下,新建文件夹pip
2、在pip文件夹下新建pip.ini文件

内容如下

1、安装nexus3,可以原生安装,也可以用docker安装,具体步骤自己网络
2、添加python仓库代理,参考 https://blog.csdn.net/u010674101/article/details/119895993

【重点】

❺ 【Python】 设置 pip 默认下载路径(含国内镜像源)

如使用 清华镜像 安装 lxml 库的命令如下所示:

在c盘下找到当前用户,进入当前用户命名的文件夹后创建一个新文件夹“pip”,在pip中创建一个文本文件pip.txt,将后缀名改为.ini

pip.ini文件内容(设置国内镜像源,这里使用的是清华镜像,文章后面提供有其他常用镜像)

保存即可,如安装 lxml 库的命令如下所示(默认为清华镜像,不需要加 -i 属性):

        清华:https://pypi.tuna.tsinghua.e.cn/simple

        阿里云:http://mirrors.aliyun.com/pypi/simple/

        中国科技大学 https://pypi.mirrors.ustc.e.cn/simple/

        华中理工大学:http://pypi.hustunique.com/

        山东理工大学:http://pypi.stlinux.org/ 

        豆瓣:http://pypi.douban.com/simple/

❻ 你的 Python 镜像还好吗

随着 k8s 集群规模变大,以及弹性扩容的触发,导致 harbor 仓库的瓶颈问题逐渐暴露出来,目前也做了一些优化措施:

在做镜像优化的时候,发现之前我们的 python 提速方案还有一些瑕疵,所以有了这里的分析。
在 Python 项目构建 Docker 镜像时,经常遇到项目源码才几百 KB,但是安装的依赖能高达数百 MB,甚至 GB,这不仅使镜像体积变的很大,而且因为网络安装依赖包导致严重拖慢构建速度。

注意:这里仅关系依赖问题,所以忽略源码部分

示例 1:

相当糟糕,依赖安装了 713MB,花了 5 分钟,太慢了。

基于刚才已经构建过的依赖镜像,再次去构建时间工作的镜像
示例 2:

为什么这里再次安装 requirements.txt,直接删掉该步骤不就好了吗?
实际情况下,研发人员可能会在仓库中修改 requirements.txt,如果这里不再次安装下,最终发版可能就要提示缺少包而报错了。这里再次安装下依赖,就是防止该问题。

再次构建,相当好,8 秒,再次安装的依赖层 0B(我们这里没有模拟研发人员修改 requirements.txt 的情况),我们取得了巨大的进步。

这个词有点像电影里的镜头,以示例 2 中的 Dockerfile 再次构建:
示例 3:

问题来了,随着岁月的流逝,构建时间怎么变成了 2 分钟,再次安装的依赖层 173MB(我们这里没有模拟研发人员修改 requirements.txt 的情况)

原来安装依赖的时候除了上面 requirements.txt 中写好的依赖,还有一些没有出现在 requirements.txt 中的依赖,而这些依赖的版本如 grpcio>=1.8.6 会随着时间的推移,而产生不同的版本
...
Requirement already satisfied: grpcio>=1.8.6 in /usr/local/lib/python3.6/site-packages (from tensorflow==2.0.0b1->-r /code/requirements.txt (line 9)) (1.34.1)
Requirement already satisfied: wheel>=0.26 in /usr/local/lib/python3.6/site-packages (from tensorflow==2.0.0b1->-r /code/requirements.txt (line 9)) (0.33.4)
...

❼ Python项目打包为docker镜像并迁移

1.安装docker服务:
centos 下直接yum安装
yum install docker

2.修改docker仓库地址为国内:


3.编写Dockerfile, 如下:

4.制作镜像:
docker build -f Dockerfile -t blogapp:1.0 .
ps:
最后一个参数是.号,别忘了加
制作镜像可能是一个漫长的过程。。。
途中有问题会中止,需要检查问题并修改Dockerfile,然后重新开始。。。

5.查看制作的镜像:
docker images

6.运行镜像,创建镜像实例,即运行容器:
docker run -it -p 192.168.5.109:8080:8888 blogapp:1.0

可以看到,项目已经正常开启,浏览器可以正常访问:

7.导出镜像为tar包:
docker image save -o blogapp.tar blogapp:1.0

8.在新机导入tar包为镜像:
docker load < blogapp.tar

9.查看新导入的镜像:

10.在新机运行镜像,后台开启容器:
docker run -it -p 192.168.5.110:8080:8888 blogapp:1.0

可以看到后台开启成功,浏览器访问新址:

❽ Python 常用的标准库以及第三方库有哪些

Python常用库大全,看看有没有你需要的。
环境管理
管理 Python 版本和环境的工具
p – 非常简单的交互式 python 版本管理工具。
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper- virtualenv 的一组扩展。
包管理
管理包和依赖的工具。
pip – Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
包仓库
本地 PyPI 仓库服务和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
devpi – PyPI 服务和打包/测试/分发工具。
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
分发
打包为可执行文件以便分发。
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
构建工具
将源码编译成软件。
buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
fabricate – 对任何语言自动找到依赖关系的构建工具。
PlatformIO – 多平台命令行构建工具。
PyBuilder – 纯 Python 实现的持续化构建工具。
SCons – 软件构建工具。
交互式解析器
交互式 Python 解析器。
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython- 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
imghdr – (Python 标准库)检测图片类型。
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
path.py – 对 os.path 进行封装的模块。
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。
Unipath- 用面向对象的方式操作文件和目录
watchdog – 管理文件系统事件的 API 和 shell 工具
日期和时间
操作日期和时间的类库。
arrow- 更好的 Python 日期时间操作类库。
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
dateutil – Python datetime 模块的扩展。
delorean- 解决 Python 中有关日期处理的棘手问题的库。
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。
文本处理
用于解析和操作文本的库。
通用
chardet – 字符编码检测器,兼容 Python2 和 Python3。
difflib – (Python 标准库)帮助我们进行差异化比较。
ftfy – 让Unicode文本更完整更连贯。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速计算编辑距离以及字符串的相似度。
pangu.py – 在中日韩语字符和数字字母之间添加空格。
pyfiglet -figlet 的 Python实现。
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 转换形式 。
uniout – 打印可读的字符,而不是转义的字符串。
xpinyin – 一个用于把汉字转换为拼音的库。

❾ Python Docker 最小化镜像

对比下 Python Docker 官方镜像 ,alpine 是最小的版本

我的项目中用到了 mysqlclient 包里的 MySQLdb 库,需要安装一些环境依赖

requirements.txt

Dockerfile

这种方式打包出来的镜像只有 115MB :)

精简的思路就是使用最小的根镜像,然后按需安装必要的依赖,最后清理掉临时没用的文件

阅读全文

与python镜像库相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163