精华内容
下载资源
问答
  • 需要从Django 换到 Flask,因为生产环境是完全隔离的,因此需要为生产环境安装python包 主要问题,我如何知道Flask 环境需要哪些包 如何离线下载这么多包 如何批量离线安装 古老的方式: 1. pip freeze > ...

    本文概览

    本文主要讲述 pip 离线安装包的相关事宜,
    主要针对内网无法直接使用pip安装的情况, 使用的是linux 服务器

    1. 由于大多数情况下都可直接使用 pip install -r requirements.txt
    2. 我的讲述重点是能够学会离线的环境下批量安装python库
    3. 会兼顾一些常见问题和基础知识,本文不会讲的太深,在一些地方会给出链接,以便深入讨论该主题
    4. 本文不仅仅是为了写出解决方案,更多地是学习python 库的基础知识,以便遇见问题时能够自行解决

    本文目录

    1. python库的安装方法 主要讲安装python 库的几种方式及其分析
    2. pip, pypi与python 库 主要讲安装pip 的安装方法,与python 库的各种分类
    3. 操作步骤 主要讲整体操作
    4. 常见问题 各种安装或异常情况的问题及其处理

    该文也是边学习边总结中不断修改,不断更新的,希望能够帮助到你,有问题可留言评论

    一、 python库的安装方法

    常见的安装方法

    1. 直接在 pypi 官网下载,而后进行手动安装
    2. 使用 pip 根据requirements文件下载安装包,到离线环境中再使用 pip 安装
    3. 通过docker 安装相应环境,高级版
    4. 通过 Ansible 自动化部署,超级版

    各种方式优劣

    1. 第一种效率低,但可以解决一两个包的安装,暂时性地解决问题
    2. 第二种是本文推荐的方式,可以批量的下载,并且批量安装,解决的是一台服务器上安装多个包的问题
    3. 第三种这种方式可以将python 环境进行复制,更适合于多个服务器的安装
    4. 不了解,有兴趣可以自行学习

    二、pip, pypi与python 库

    pypi 是存储 python 库(package) 并可通过 pip 进行安装的一个平台

    1. python 库 比作货物,pypi 就是存储货物的仓库,而pip 可以想象成 pypi 的管理人员,帮助你获取python 库
    2. pip 也是一个python 库,是 easy_install 的升级版,两者就好像 rpm 和 yum 一样
    3. pypi 是一个python 库的官方存储仓库,相应的还有一些镜像源,用来提升速度的

    python 库

    1. python 库是什么
      python 库本质上就是一个python 程序包,路径一般在 /usr/lib/python3.6/site-packages
      python 库很重要的一点是 库与库之间是相互依赖的,还有python 库的版本问题也很重要
    2. python 库的常见分类
      1. 是否需要安装后才可使用,可以分为标准库(内置库)和第三方库
      2. 按照操作系统,可以大致分为 windows 和 UNIX 系统两类
      3. 按照python 版本,可以分为 python 2 ,python 3.6,python 3.7 等等
      4. 按照解释器,可以分为 cp(C语言 解释器),jp(Java 解释器),IronPython(.Net 解释器)等等
      5. 并且库本身还有很多版本,相应版本之间也会有差异
      6. 按照安装包的方式可以分为, 源码包,wheel 包, egg包
    3. 源码包,wheel 包与 egg 包
      1. 常见的是 源码包和wheel 包,egg 已经较少了
      2. 源码包就是二进制包,一般安装后会有一个可执行文件
      3. wheel 包是一种包的格式,可直接使用 pip install xxx.whl 进行安装
      4. egg 包是以前的版本,相对来说,wheel 格式是 egg 格式的升级版本 ,可使用 python setup.py xxx.egg进行安装
    4. wheel包的命名方式(源码包只有包的版本号)
      1. wheel包名官方文档
      2. wheel 包的命名格式为 {distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl
      3. 例如 mysql_connector-2.1.6-cp36-cp36m-win_amd64.whl
      4. 一些通用的包可以使用 no 或者 any 对相应字段进行替换,例如这个包是linux 和 windows 都通用的,就可以在platform 上写 any
      5. 查看本机python 可支持的wheel版本
        [root@xxx dir]python3
        
        >>>import pip
        
        >>>print(pip.pep425tags.get_supported())
        	[('cp36', 'cp36m', 'manylinux1_x86_64'),
        	('cp36', 'cp36m', 'linux_x86_64'),
        	('cp36', 'abi3', 'manylinux1_x86_64'),
        	('cp36', 'abi3', 'linux_x86_64'),
        	('cp36', 'none', 'manylinux1_x86_64'), 
        	('cp36', 'none', 'linux_x86_64'),
        	('py3', 'none', 'manylinux1_x86_64'), 
        	('py3', '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')]
        
    名称 对应名称 解释
    distribution mysql_connector 包名
    version 2.1.6 版本
    bulid tag 备注标签 可省略
    python-tag cp36 表示 cpython 3.6 版本
    abi-tag cp36m abi Application Binary Interface
    应用程序二进制接口
    platform win_amd64 platform 还可以是 any
    win32 , linux_i386 , linux_x86_64, any 表示 跨平台

    三、操作步骤

    1. 源码包手动安装

    以 uwsgi 为例,在linux 上安装uwsgi

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

    更简单的方法

    • 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 上进行安装,这样八成装不上

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

    3. 将文件打包后放到离线服务器上,并进行解压缩

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

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

    命令说明

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

    四、常见问题

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

      1. 包名中有 win ,代表只能在windows 中安装
      2. 没有 win,代表跨平台
    2. 安装时报错,不能找到相应的包,打开文件夹后却发现有 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))
      
      1. 原因是该库是3.7 版本,而服务器是3.6 版本,导致安装不上
      2. 使用以下命令选择合适的版本,注意 --no-deps 不可缺少,参考官方文档
      3.  pip3 download 
         	--no-deps
            --platform linux_x86_64
            --python-version 36
            --implementation cp  
            --abi cp36m    
             -r requirements.txt -d pk
        
    3. 下载时报错

        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/bin/python3.7 -u -c "import setuptoolstokenize;
        __file__='/tmp/pip-wheel-e6wqgb6g/Mako/setup.py';
        f=getattr(tokenize,'open', open)(__file__);
        code=f.read().replace('\r\n', '\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 Mako
      Failed to build mysql-connector uwsgi SQLAlchemy alembic Mako
      ERROR: Failed to build one or more wheels
      
      
      1. 问题原因,因为这些包的格式是 tar.gz,也就是源码包,是不可以直接转为 wheel 包的
      2. 可参考上面源代码安装方式
    4. 安装报错

      1. 由于服务器自带的是python2,存在python 3 和 python 2 两个版本共存的情况
      2. pip 版本错了,换成 pip3 就OK了

    PyPI 服务器搭建

    • https://www.cnblogs.com/special-li/p/9149573.html
    1. 可以通过 pypi-server 或者开源镜像仓库Nexus实现
    2. Nexus 官网 https://www.sonatype.com/nexus/repository-oss
    3. pypi-server https://github.com/pypiserver/pypiserver
    展开全文
  • pip快速下载python包

    千次阅读 2018-10-29 11:40:04
    快速pip下载python包你还在为cmd命令行下下载python包网速慢而烦恼吗?怎么加入环境变量呢?方法一方法2有环境变量的直接看这里pip快速下载方法 你还在为cmd命令行下下载python包网速慢而烦恼吗? 现在我来帮你解决...

    你还在为cmd命令行下下载python包网速慢而烦恼吗?

    现在我来帮你解决这个问题。

    首先你得装个python,但是要注意的是,装python的时候要加入环境变量(稍后图示)。这样你的cmd命令行才认识,不然cmd命令行会提示‘pip’不是内部或外部命令,也不是可运行的程序或批处理文件。

    如果你在cmd命令行下打pip出现以下的东西,证明你已经加入环境变量了
    在这里插入图片描述

    如果你没有加入环境变量。
    cmd命令行会提示‘pip’不是内部或外部命令,也不是可运行的程序或批处理文件。

    怎么加入环境变量呢?

    方法一

    win10下,寻找你安装python的路径,以下是默认路径。找到你的Scripts这个目录下,复制这个路径。例子如下:
    C:\Users\用户\AppData\Local\Programs\Python\Python36\Scripts
    然后回桌面,右击此电脑进入属性,点击高级系统设置,点击环境变量
    在这里插入图片描述
    在系统变量里找到Path这个变量名,点击编辑
    在这里插入图片描述
    然后点击新建,吧你刚才复制的路径粘贴到里面,点击确定就ok了。

    方法2

    卸载你之前装的python,重新安装,在安装python的时候勾选Add Python 3.6 to PATH 意思就是加入环境变量。
    在这里插入图片描述

    有环境变量的直接看这里pip快速下载方法

    新建记事本,粘贴以下代码,重命名为pip.ini 注意后缀名。

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host=mirrors.aliyun.com
    

    如果你重命名后图标还是原来的txt样式的图标证明你的后缀名还没有改掉。

    正确修改后的是带齿轮的。在这里插入图片描述在这里插入图片描述

    如果你重命名修改了,还是txt文件证明你为打开后缀名选项,现在随便打开一个文件夹,点击查看,勾选文件扩展名。
    在这里插入图片描述

    然后回到桌面,再次重命名为pip.ini就可以了。

    接下来就是放这个文件的位置了。
    在你的c盘–>user目录–>你的用户名目录,在这里新建文件夹重命名为pip,之后将你的pip.ini放在这个文件夹里就ok了。
    在这里插入图片描述
    在这里插入图片描述

    现在就已经完成了。
    去cmd命令行下pip install 包名,试试吧。
    例如安装pygame游戏包则输入:pip install pygame
    安装pymysql数据库连接则输入:pip install pymysql
    如果你想看你都装了那些python包,则可以输入:pip list

    --------------------------------------------------------------------------------
    本人亲测成功。
    谢谢支持。

    展开全文
  • 解决python包ModuleNotFoundError问题

    万次阅读 2019-05-29 21:57:09
    做生信分析时要使用deeptools这个是用python写的,使用 python setup.py install --prefix /home/ltf/package/deepTools-3.3.0 将程序安装到服务器自己的账户上,然后在~/.bashrc这个环境变量中加入路径 PATH...

    做生信分析时要使用deeptools这个包,包是用python写的,使用

    python setup.py install --prefix /home/ltf/package/deepTools-3.3.0
    

    将程序安装到服务器自己的账户上,然后在~/.bashrc这个环境变量中加入路径

    PATH=/home/ltf/package/deepTools-3.3.0/bin:$PATH
    

    source一下去使用这个包,结果报错:

    ModuleNotFoundError: No module named 'deeptools'
    

    问题出现的原因

    这说明这个包没能加到python的环境变量中去(其实ModuleNotFoundError已经很清楚的告诉了这个问题了)

    有一点要理解的是:之前加环境变量是将bin文件加入环境变量,之后再调用bin文件夹下的文件就不必写绝对路径了。

    所以,现在就是要把包的加入到python的路径下
    安装这个包时,生成了一个lib文件夹,里面是python要调用的。

    对于python写的包,服务器执行时需要python将python脚本先翻译成自己能执行的语言,才能理解python脚本的内容。
    服务器要使用python脚本,就告诉python,让python去把python脚本进行翻译,但是python却找不到这个包的路径,所以就会报错:ModuleNotFoundError

    解决方法

    知道了这些,一种比较简单的解决方法是:
    在环境变量(~/.bashrc)中将这个包的路径告诉python

    export PYTHONPATH=$PYTHONPATH:/home/ltf/package/deepTools-3.3.0/lib
    

    然后source一下环境变量(source ~/.bashrc),当前用户下就可以永久使用了。
    不知道怎么source环境也没事,退出重新登陆就可以了。

    展开全文
  • #遗传算法帮助 help(GA) #模拟退火算法帮助 help(SA)
  • 在pycharm中安装python包

    千次阅读 2019-11-16 19:00:59
    在pycharm中安装python包 第一步:点击file 第二步:点击settings 第三步:找到你的项目下面有个project interpreter–然后有个加号 第四步:点击–搜索安装包–然后安装就行了,如果安装失败,证明python中没有...

    在pycharm中安装python包

    第一步:点击file

    在这里插入图片描述
    第二步:点击settings

    在这里插入图片描述
    第三步:找到你的项目下面有个project interpreter–然后有个加号在这里插入图片描述

    第四步:点击–搜索安装包–然后安装就行了,如果安装失败,证明python中没有这个包,需要从新下载以后再安装

    在这里插入图片描述

    展开全文
  • Conda安装与卸载Python包

    千次阅读 2019-10-29 20:00:51
    安装python包应避免直接使用 python setup.py install 应该使用: pip install . 在conda环境下使用Pip会将Python包自动安装到当前环境下。 卸载: 如果使用了python setup.py install的安装方式,要卸载python包...
  • python包 —rdkit 安装

    千次阅读 2019-05-04 14:08:55
    python包—rdkit安装rdkit安装 rdkit安装 参考 http://www.rdkit.org/docs/Install.html (1)下载:https://sourceforge.net/projects/rdkit/ 适合的版本python2.7 解压到D:/ (2)设置环境变量: 新建...
  • 离线安装python包

    千次阅读 2019-01-16 00:09:58
    从相同的系统和python环境下拷贝已经安装好的包,python包的安装目录在 Lib\site-packages。该方法需要注意依赖的包已经存在,不然在使用时会出错。 2、使用whl后pip安装 2.1 下载whl安装 网站查询下载:...
  • 利用Anaconda导入python包问题

    千次阅读 2018-04-03 19:30:04
    利用Anaconda导入python包问题目的: 在系统中安装了python2,3以及各种集合版本时,为了避免装包时装错地方,避免发生错乱,就进入特定的目录下进行安装。 如下所示: 1:进入到安装Anaconda的Scripts目录下2:...
  • pip离线安装python包

    万次阅读 2018-02-02 11:32:20
    1.建立放置python包的目录 mkdir py_packages 2.使用下面命令在有网络的环境下下载相关python包 pip install --download ./py_packages ansible (这里以安装ansible为例) 新版pip已经不支持上面命令,现在...
  • 使用pycharm通过国内镜像安装python包

    万次阅读 多人点赞 2017-03-02 21:41:29
    使用cmd通过国内镜像安装python包pip install --index-url ...使用pycharm通过国内镜像安装python包,setting-project workspace-project interpreter,注意每次都要添加信任选项...
  • anaconda安装python包(python-Levenshtein)

    千次阅读 2017-09-21 09:35:10
    不需要本地提前下载该python包打开“Anaconda Prompt”不需要切换路径直接”pip install python-Levenshtein
  • ubuntu下终端安装python3及python包

    千次阅读 2018-05-01 23:51:08
    1.在终端输入:sudo apt-get install python3-pip,完成python3的安装; 可以使用如下命令查看pip3是否安装成功:pip3 -V 2.pip安装,输入命令行:sudo apt-get install ...3. 其他python包安装差不多,只是注意使用...
  • pip安装Python包时下载速度慢

    万次阅读 2020-02-25 15:38:42
    pip安装Python包时下载速度慢的解决办法
  • 使用anaconda本地安装python包的方法

    万次阅读 2018-09-12 20:06:51
    1.下载zip,tar.gz等压缩包(就是自己 需要的python包) 2.将压缩包解压到 ~anaconda3/pkgs/ 下面(这个路径存放所有已经安装的python包) 3.进入该python包的解压目录 ,输入 python setup.py install 命令,...
  • python包的中 _init _.py文件介绍

    千次阅读 2020-08-04 00:11:23
    python包的中 _init _.py文件介绍 我们新建python包时常常会看到一个__init _.py文件。 作用介绍: ​ 一:这个文件是属于python包的,这个文件用作于标识python包,当一个文件夹有这个__init _.py文件时,python将...
  • 利用国内镜像快速安装各种python包

    万次阅读 2019-01-29 22:19:07
    前言:有时候由于国内网的限制,安装各种python包很慢,甚至没有办法安装,这里找到一种方法,转过来mark一下: 网上搜到的pip国内镜像大部分是豆瓣的 http://pypi.douban.com/simple/ 但是根本不全,很多包没有...
  • python包的安装与卸载

    万次阅读 2015-08-27 09:10:51
    文章介绍了python包的安装以及卸载,具体讲述了几种常用的方式对应不同的python包来源。
  • pip离线下载&安装python包和rpm包

    千次阅读 2019-04-23 17:11:22
    对于有些企业服务器是无法连接外网的,而安装一些python包所需依赖太多,如果无法在线安装会被依赖搞到死…,所以记录下离线安装python包的方法。 1.在可以上网的服务器下载所有的安装依赖包 我有一个虚拟机 可以...
  • 使用 pip freeze 获取安装的 Python

    万次阅读 2018-12-24 16:16:49
    使用 pip freeze 获取安装的 Python 有时,我们为了代码稳定、代码迁移等,需要获取当前 Python 工程依赖的安装列表。这个列表要包括需要安装什么、以及的版本。这便是:requirements.txt。 pip 使用 ...
  • ubuntu离线安装python包

    千次阅读 2018-10-22 11:27:27
    python包(pip)离线安装方法 : 1、到https://pypi.python.org/pypi 下载相应包并解压  2、找到所需要的所有依赖,放进解压后的文件夹里,终端输入:sudo python setup.py install 进行安装...
  • 手动安装python包

    万次阅读 多人点赞 2016-03-09 22:09:07
    对于手动安装python包,比如chardet,需要下载解压后放到 Lib->site-packages下面(python安装目录下好像也可以,没放过。site-packages是放第三方包的),然后再chardet的目录下有个setup.py,需要在这个目录下打开...
  • 如何用Anaconda管理你的python包

    万次阅读 2018-08-07 15:46:21
    一、Anaconda简介与安装 ...这些包在做数据分析时候至关重要,这里我们详细说明一下如何利用anaconda管理你的python包,最后将anaconda运用在pycharm中。 下载地址:https://www.anaconda.com/downloa...
  • python包管理工具 setuptools 及pip安装

    千次阅读 2019-01-28 14:37:55
    python包管理工具  pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品。本文将详细说明 安装 pip 的方法和 使用 pip 的一些基本操作如安装、更新和卸载 python 包。 一、pip是基于setuptools...
  • Anaconda中python包的介绍与使用方法

    千次阅读 2019-08-30 11:23:59
    Anaconda中python包的介绍与使用方法 目录: 1、包的定义 2、常用包管理器 3、包管理器的使用方法 4、数据科学常用的包 1、包的定义 由多个和同一功能相关的模块组成,通常为含有_init_py文件夹 模块:可写...
  • python包安装:高效方法

    万次阅读 2016-10-05 20:25:19
    python第三方包高效安装的方法 对,没错,就是高效方法。尝试多种方法,安装包总是...首先,你需要安装python包,接下来,我们来安装python第三方包,而常常采用的方法有如下几种: pip install scikit-learn 或 easy_i
  • Py之chatterbot:python包之Chatterbot包/wxpy包简介、安装、使用方法之详细攻略 目录 Chatterbot包/wxpy包简介 Chatterbot包/wxpy包安装 Chatterbot包/wxpy包使用方法 Chatterbot包/wxpy包简介 ...
  • python包tqdm安装及入门

    万次阅读 2017-12-24 13:43:47
    1、安装pip install tqdm或者conda install -c conda-forge tqdm2、tqdm的使用进度条 tqdm 库比较热门,声称比老版的 python-progressbar 库的单次响应时间提高了 10 倍以上。其实进度条的原理十分的简单,无非就是...
  • Linux下python包管理总结

    千次阅读 2017-07-20 10:38:29
    Linux下python包管理总结version: 0.01Editor: 刘家兴 查看当前python支持的模块:pydoc modules 安装pipsudo apt-get install python3-pipsudo apt-get install python-pip 指定pip执行路径 vi /usr/bin/pip vi /usr...
  • conda安装和管理python包非常方便,可以在指定的python环境中安装包,且自动安装所需要的依赖包,避免了很多拓展包冲突兼容问题。不建议使用easy_install安装包。大部分包都可以使用conda安装,无法使用conda和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,330,465
精华内容 532,186
关键字:

python包

python 订阅