目录
- 使用douban源下载python包
- 安装pip
- 豆瓣源作为下载源
- python pip 的安装、更新、卸载、降级、和使用 pip 管理包
- 安装 pip
- 更新 pip
- 使用 pip 管理包
- 查看python中模块的所有方法
- 命令行下使用pip查看
- 使用yolk来查看
- 安装pyodbc包
- 解决 Command "python setup.py egg_info" failed with error code 1 问题
- 输入pip命令报错:from pip import main ImportError: cannot import name 'main'
- 解决_blocking_errnos = {errno.EAGAIN, errno.EWOULDBLOCK} pip 问题
- 安装指定pip版本,python2.6.6在pip10之后不支持。
- 用apt-get安装pip
- 源码安装pip
- pip安装失败(总是Retry)
- 镜像过慢
- 域名无法解析
- python利用pip安装包注意事项
- 需要把pip升级后再安装
- 解决'python -m pip install --upgrade pip' 报错问题
- 再安装包的时候提示
- window配置pip国内源
- 缺少 zlib模块
- 缺少 mysql-devel模块
- 报错error: command 'gcc' failed with exit status 1
- No module named MySQLdb
- django setting.py 设置数据库严格模式
- No package 'libffi' found
使用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
解决方法:
明显看到提示信息中有不信任douban这个下载源,那么我们要给他一个信任动作
pip install tornado -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
我们在使用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<
这个配置文件连目录都不存在,需要手动去创建,不要意外
你可以正常使用了,例如
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
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 -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:\fish\venv\lib\site-packages (10.0.1)
于是按照要求将d:\fish\venv\lib\site-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