首页 > 编程知识 正文

怎样在python中用pip安装环境包,pip一次性安装python库

时间:2023-05-04 14:21:24 阅读:179956 作者:67

正文概要本文主要阐述了pip脱机安装包的相关内容。

主要是在内部网不能直接使用pip安装时,使用linux服务器

大多数情况下可以直接使用pip install -r requirements.txt,因此,学习脱机环境下批量安装python库的重点是兼顾常见问题和基础知识。 这篇文章没有做太深的解释。 在几个地方提供链接,深入讨论这个主题,不仅仅是为了写这篇文章的解决方案。 如果遇到问题,请参阅如何安装此目录中的python库主要讲安装python 库的几种方式及其分析pip,pypi和python库3358www.Sina.com/操作说明http://www.Sina.com

另一方面,python库的安装方法关于python库的安装的资料一般的安装方法是直接在pypi官网下载,然后在手动安装中使用pip基于requirements文件进行安装在脱机环境下使用pip安装在docker中安装相应的环境,高级版通过Ansible自动部署。 超级版本各种方式的优劣第一是效率低下,可以解决一两个软件包的安装,暂时解决问题第二是本文推荐的方式,可以批量下载,批量安装。 解决的问题是在一台服务器上安装多个软件包。第三,这种方式可以复制python环境,由于不太了解多个服务器的安装,如果有兴趣的话可以自己学习二、pip。 pypi和python库pip官方文档pippypi官方网站python package官方文档pypi是一个可以存储python库(package )并通过pip安装的平台

python库被比作货物。 pypi是存储货物的仓库,但可以将pip视为pypi的管理员。 帮助获取python库pip的也是python库,是easy_install的升级版。 两者像rpm和yum一样,pypi是python库的官方仓库,与之相对应

主要讲安装pip 的安装方法,与python 库的各种分类

主要讲整体操作python库的常见分类是安装后能否使用,分为标准库(内置库)和第三方库,根据操作系统的不同,分为windows python 3.7等根据解释器可以分为CP(c语言解释器)、JP (JP )、Java解释器)、ironpython (.net解释器)等。 此外,库本身有很多版本,相应的版本之间也有差异。 分为源包、wheel包和egg包的源包。 wheel和egg包中常见的是源包和wheel包,而egg很少发现源包是二进制包。 通常,安装时包含可执行文件的wheel软件包为软件包格式,以前的版本可以直接使用pip install xxx.whl安装egg软件包,而wheel格式是egg格式的升级版。 可以使用python setup.py xxx.egg安装的wheel包的命名方法(源包仅限于包的版本号) wheel包名称官方文档wheel包的命名格式为{ distributute - { python tag }-{ abitag }-{ platform tag }.whl,例如MySQL _ connector-2.1.6-cp36-cp36m-win _ amd64.whl 本地python支持的wheel版本[ root @ xxxdir ] python3importpipprint (pip.pep 425 tags.get _ supported () ) cpported (cp36 )、) cp36m )、(linux_x86_64 )、(cp36 )、(abi3 )、(manylinux1_x86_64 )、(cp36 )、(abii3 )、)

'none', 'linux_x86_64'), ('cp36', 'none', 'any'), ('cp3', 'none', 'any'), ('py36', 'none', 'any'), ('py3', 'none', 'any'), ('py35', 'none', 'any'), ('py34', 'none', 'any'), ('py33', 'none', 'any'), ('py32', 'none', 'any'), ('py31', 'none', 'any'), ('py30', 'none', 'any')] 名称对应名称解释distributionmysql_connector包名version2.1.6版本bulid tag备注标签可省略python-tagcp36表示 cpython 3.6 版本abi-tagcp36mabi Application Binary Interface
应用程序二进制接口platformwin_amd64platform 还可以是 any
win32 , linux_i386 , linux_x86_64, any 表示 跨平台三、操作步骤 1. 源码包手动安装

以 uwsgi 为例,在linux 上安装uwsgi

下载 uwsgi 源码包, Pypi 官网下载解压 tar -zxvf uwsgi.tar.gz进入目录 cd uwsgi使用python 安装 python3 setup.py install即可安装成功

更简单的方法

pip3 install uwsgi-2.0.18.tar.gz 2. pip 安装 官方说明

In some cases, you may want to install from local packages only, with no traffic to PyPI.

1. 首先,在项目中分析出所有依赖的库 pip freeze > requirements.txt # 该方法仅可以使用在虚拟环境中,会将python 解释器下的所有包都导出pipreqs ./ --encoding=utf-8 --force # 表示覆盖该原有requirements.txt 2. 将所有包下载到DIR这个目录中 $ pip download -d DIR -r requirements.txt$ pip wheel -w DIR -r requirements.txt

切记,不要在 windows 下载包,然后放到 Linux 上进行安装,这样八成装不上

这两条命令的区别在于wheel 方式下载会将下载的包放入wheel 缓存,但缺点是wheel 不可以下载源码包download 命令会查看wheel缓存,然后再去PyPI下载库,但download命令下载的包不会进入wheel缓存,download 的优点是可以下载源码包需要注意,使用wheel 方式安装可能会报错,因为有些包是源码包,不能被打包成wheel 格式download 方法下载的包,不会对依赖性进行检查,这意味着,如果下载 Flask-PyMongo 这个包,只会下载该包,而不会下载 pymongo,经试验发现,download 适合补充wheel不可下载的包,两者搭配使用,才能将requirements文件的库完整的下载注意: 如果只使用download 方法下载,很有可能安装时候会报错
3. 将文件打包后放到离线服务器上,并进行解压缩

下载后执行下面的命令就可以进行安装了

$ pip3 install --no-index --find-links=DIR -r requirements.txt

命令说明 freeze 将依赖关系分析出来并 使用管道符导入到该文件中download 分析 requirements 文件,将所有包进行下载,通过 d 选项导入 DIR 文件夹wheel 分析requirements 文件,并将所有包及其依赖包下载为 wheel 格式,通过 w 选项导入 DIR 文件夹中--find-links 指定离线安装的文件夹DIR,也就是你下载好的包注意: --no-index 必须搭配 --find-links 使用--no-index¶Ignore package index (only looking at --find-links URLs instead). 四、常见问题

注意生产环境是什么平台,如果是Linux,你需要在虚拟机中下载 wheel包,切记

包名中有 win ,代表只能在windows 中安装没有 win,代表跨平台

安装时报错,不能找到相应的包,打开文件夹后却发现有 cffi 这个库

Collecting cffi==1.11.5 (from -r lla/requirements.txt (line 12)) Could not find a version that satisfies the requirement cffi==1.11.5 (from -r lla/requirements.txt (line 12)) (from versions: )No matching distribution found for cffi==1.11.5 (from -r lla/requirements.txt (line 12)) 原因是该库是3.7 版本,而服务器是3.6 版本,导致安装不上使用以下命令选择合适的版本,注意 --no-deps 不可缺少,参考官方文档 pip3 download --no-deps --platform linux_x86_64 --python-version 36 --implementation cp --abi cp36m -r requirements.txt -d pk

下载时报错

Failed building wheel for alembic Running setup.py clean for alembic Running setup.py bdist_wheel for Mako ... error Complete output from command /usr/local/谨慎的大白/python3.7 -u -c "import setuptoolstokenize; __file__='/tmp/pip-wheel-e6wqgb6g/Mako/setup.py'; f=getattr(tokenize,'open', open)(__file__); code=f.read().replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-l_pjqx6k: usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] or: -c --help [cmd1 cmd2 ...] or: -c --help-commands or: -c cmd --help error: invalid command 'bdist_wheel' ---------------------------------------- Failed building wheel for Mako Running setup.py clean for MakoFailed to build mysql-connector uwsgi SQLAlchemy alembic MakoERROR: Failed to build one or more wheels 问题原因,因为这些包的格式是 tar.gz,也就是源码包,是不可以直接转为 wheel 包的可参考上面源代码安装方式

安装报错

由于服务器自带的是python2,存在python 3 和 python 2 两个版本共存的情况pip 版本错了,换成 pip3 就OK了 PyPI 服务器搭建 https://www.cnblogs.com/special-li/p/9149573.html 可以通过 pypi-server 或者开源镜像仓库Nexus实现Nexus 官网 https://www.sonatype.com/nexus/repository-osspypi-server https://github.com/pypiserver/pypiserver

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。