zoukankan      html  css  js  c++  java
  • python,pip包管理工具

    使用douban源下载python包

    标签(空格分隔): 未分类


    安装pip

    yum install -y python-pip
    

    豆瓣源作为下载源

    豆瓣下载地址:http://pypi.douban.com/simple
    1、使用pip下载时指定使用豆瓣源作为下载源(这里我们下载tornado)

    pip install tornado -i http://pypi.douban.com/simple

    image.png-11.9kB

    解决方法:

    明显看到提示信息中有不信任douban这个下载源,那么我们要给他一个信任动作

    pip install tornado -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    

    image.png-15.8kB

    我们在使用pip工具下载tornado时遇到了一个问题,pip没有安装-。-现在安装下pip

    提前准备了一个get-pip.py安装包(自己从网上找去)

    同样使用我们的douban源来安装它(有依赖),一条命令搞定了

    python get-pip.py -i http://pypi.douban.com --trusted-host pypi.douban.com 
    

    3、现在已经学会使用国内douban源下载python包了,但是又遇到个问题,难道每次下载都要执行那么一大长串命令么-。-

    我们当然有解决方法,看下面

    第一步:

    创建配置文件

    /root/.pip/pip.conf

    mkdir /root/.pip
    touch /root/.pip/pip.conf
    cat >/root/.pip/pip.conf<<EOF
    [global]
    index-url = http://pypi.douban.com/simple
    [install]
    trusted-host = pypi.douban.com
    EOF
    #检查
    cat /root/.pip/pip.conf
    

    这个配置文件连目录都不存在,需要手动去创建,不要意外
    你可以正常使用了,例如

    python pip 的安装、更新、卸载、降级、和使用 pip 管理包

    安装 pip

    官网的安装方式(推荐)

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python get-pip.py
    

    Linux apt 安装

    sudo apt-get install python-pip
    

    更新 pip

    pip install --upgrade pip
    #
    pip install -U pip
    

    卸载 pip

    sudo apt-get remove python-pip
    

    pip 版本降级

    python -m pip install pip==版本(如:9.0.3)
    

    使用 pip 管理包

    列出已安装的包

    pip freeze 或 pip list
    

    pip freeze
    pip freeze 可用于导出已安装的包及其版本并保存为文件,如下:
    pip freeze > 文件名(如 requirements.txt)
    保存的文件(requirements.txt)可以直接用于安装或卸载,如下:
    pip install -r requirements.txt
    pip uninstall -r requirements.txt

    安装包

    pip install 包名
    

    安装特定版本的包

    pip install 包名==版本
    

    其他版本范围控制符号: 、>=、<=、>、<
    pip install 包名 # 最新版本
    pip install 包名
    版本 # 指定版本
    pip install ‘包名>=版本’ # 最小版本

    升级包

    pip install --upgrade 包名
    #或
    pip install -U 包名
    

    卸载包

    pip uninstall 包名
    

    使用国内源

    sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名
    

    查看python中模块的所有方法

    pydoc modules
    
    >>> help("modules")
    
    #python的sys模块也是可以用来查看模块信息的
    
    import sys
    sys.modules.keys()
    

    命令行下使用pip查看

    如果你使用的是pip来作为你的python包管理器的话,可以在命令行下直接运行pip freeze或者
    pip list来查看安装包的信息,当然其它的包管理器也有类似的功能,同时,你也可以在python交互式解释器中导入pip模块来查看包信息

    import pip
    installed_packages = pip.get_installed_distributions()
    installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
         for i in installed_packages])
    print(installed_packages_list)
    

    使用yolk来查看

    如果你安装过yolk的话可以使用yolk命令来查看包信息,你可以使用$ pip install yolk来安装它yolk使用简单,只需在命令行下操作即可

    $ yolk -l    #列出所有安装模块
    $ yolk -a    #列出激活的模块
    $ yolk -n    #列出非激活模块
    $ yolk -U [packagename]  # 通过查询pypi来查看(该)模块是否有新版本
    

    安装pyodbc包

    sudo apt-get install unixodbc-dev
    
    

    解决 Command "python setup.py egg_info" failed with error code 1 问题

    pip install --upgrade setuptools
    python -m pip install --upgrade pip
    

    输入pip命令报错:from pip import main ImportError: cannot import name 'main'

    错误连接

    qly@qlyComputer:~$ pip
    Traceback (most recent call last):
      File "/usr/bin/pip", line 9, in <module>
        from pip import main
    ImportError: cannot import name 'main'
    

    主要是由于ubuntu升级pipd版本后导致的

    注意:由于若/usr/bin/pip3是只读文件,不加sudo ,可能会提示权限不足,若在只读权限下强制保存会导致文件受损,建议修改配置文件时先查看是否具有权限
    修改的内容如下:

    原文:from pip import main 
    修改后:from pip._internal import main
    

    然后运行pip还是会报错,继续更改配置文件

    然后用相同命令把pip配置文件进行更改

    vi /usr/bin/pip

    修改的内容如下:

    //修改前
    from pip import main  
    if __name__ == '__main__':  
        sys.exit(main()) 
    修改后
    from pip import __main__  //这行也要修改
    if __name__ == '__main__':  
        sys.exit(__main__._main())//增加__main__._
    

    解决_blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} pip 问题

     python2.6 get-pip.py 报错下面的错误
    _blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} pip
    解决方案:
    # 1, 从官方github获取具体版本的pip
    wget  https://raw.githubusercontent.com/pypa/get-pip/master/2.6/get-pip.py
    # 2,运行刚才获取的pip文件
     python2.6 get-pip.py
    

    安装指定pip版本,python2.6.6在pip10之后不支持。

    https://pypi.org 前往网站下载所想要的版本的pip

    查看相应的历史版本

    用apt-get安装pip

    sudo apt-get remove python-pip
    

    但是有时通过apt-get安装的pip版本太老了,使用旧版本pip安装一些包时会报出提醒来升级pip。如果想升级最新的pip,需要先卸载pip,命令为

    sudo apt-get remove python-pip
    

    然后在按照下面的方法用源码安装pip.

    源码安装pip

    https://pypi.python.org/pypi/pip 这个网站下载对应版本的源码,推荐为这种压缩格式的:pip-9.0.1.tar.gz,然后到下载目录下,解压并进入文件:

    tar -xzvf pip-9.0.1.tar.gz
    cd pip-9.0.1
    sudo python setup.py install
    

    pip安装失败(总是Retry)

    在使用 pip install 总是出现如下错误:
    image.png-78.7kB

    镜像过慢

    pip install -i https://pypi.douban.com/simple django 
    

    域名无法解析

    vim /etc/resolv.conf
    
    #添加如下几行,
    
    nameserver 8.8.4.4
    nameserver 8.8.8.8
    

    python利用pip安装包注意事项

    需要把pip升级后再安装

    相关命令

    python -m pip install --upgrade pip
    pip install --upgrade pip
    pip install --upgrade wheel
    
    pip3 install aiohttp
    
    #例如安装图像包
    pip install Pillow
    
    #安装mysql
    pip install mysql-connector-python-rf --allow-external mysql-connector-python
    
    #安装sqlalchemy--ORM数据库
    
     pip install sqlalchemy
    
    

    解决'python -m pip install --upgrade pip' 报错问题

    再安装包的时候提示

    You are using pip version 9.0.3, however version 10.0.1 is available.
    You should consider upgrading via the 'python -m pip install --upgrade pip' command.
    

    而我按照要求运行python -m pip install --upgrade pip 后仍然无法成功升级,提示如下:

    (venv) D:Fish>python -m pip install --upgrade pip
    Requirement already up-to-date: pip in d:fishvenvlibsite-packages (10.0.1)
    

    于是按照要求将d:fishvenvlibsite-packages (10.0.1) 中的pip-10.0.1.dist-info删除,再次运行python -m pip install --upgrade pip 后升级成功,之前不能安装的包也能安装了!

    window配置pip国内源

    文件夹窗口输入 : %APPDATA%
    新建pip文件夹
    创建pip.ini文件
    输入以下内容:

    [global]
    
    timeout = 6000
    
    index-url = http://pypi.douban.com/simple
    
    trusted-host = pypi.douban.com
    

    缺少 zlib模块

    安装报错

    Compression requires the (missing) zlib module  
    

    缺少 zlib模块导致安装失败

    yum install zlib zlib-devel -y
    #重新执行
    make && make install 
    python ./setup.py install
    

    缺少 mysql-devel模块

    报错

    EnvironmentError: mysql_config not found
    

    常用解决方法

    yum install mysql-devel
    

    未解决的,参考以下描述
    rpm -qa | grep mysql 查找与mysql版本相应包
    下载对应版本的mysql-devel,http://rpm.pbone.net/

    rpm -ivh ftp://mirror.switch.ch/pool/4/mirror/mysql/Downloads/MySQL-5.6/mysql-community-devel-5.xxxxx.x86_64.rpm
    

    再次安装

    pip install mysql-python
    

    报错error: command 'gcc' failed with exit status 1

    centos需要安装python-devel,ubuntu需要安装python-dev,但不能解决问题
    当前使用的是python2.7版本,yum install -y python2-devel
    若使用的是python3.6版本,yum install -y python3-devel
    或许会使用到小版本号如 yum install -y python3.6-devel

    No module named MySQLdb

    报错

    django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'
    

    原因是MySQLdb不支持python3,需要安装pymysql并替换

    pip3 install pymysql
    

    修改 ./manage.py 文件 ,大文件关添加以下代码

    import pymysql
    pymysql.install_as_MySQLdb()
    

    安装即可

    python3 ./manage.py makemigrations
    

    django setting.py 设置数据库严格模式

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'imoocc',
            'USER': 'imoocc',
            'PASSWORD': '123456',
            'HOST': '127.0.0.1',
            'PORT': '',
            'OPTIONS': {
    		"init_command": "SET sql_mode='STRICT_TRANS_TABLES'", #设置严格模式
    	},
            'init_command': 'SET storage_engine=INNODB,'
                            'SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED, autocommit=1, names "utf8";',
        }
    }
    

    No package 'libffi' found

    解决方法

    yum install -y libffi libffi-devel
    

    国内源镜像有:

    V2EX:http://pypi.v2ex.com/simple
    豆瓣:http://pypi.douban.com/simple
    中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/
    清华:https://pypi.tuna.tsinghua.edu.cn/simple

  • 相关阅读:
    编程心得
    PC缺少一个或多个网络协议 qq可登录(win10)
    系统启动和内核管理
    实现Internet架构的dns解析
    文本处理三剑客之AWK
    SHELL脚本编程进阶
    网络协议和管理笔记
    基础知识
    进程和计划任务
    710
  • 原文地址:https://www.cnblogs.com/anyux/p/11914665.html
Copyright © 2011-2022 走看看