python使用pip安装第三方模块遇到的问题及解决方法
关注公众号“轻松学编程”了解更多。
使用国内源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
使用命令,比如
pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/
1、python package tools not found
这个一般是镜像源的问题,在Pycharm中修改默认的镜像源安装地址,一般用国内的豆瓣或者清华的源,访问下载速度快。
豆瓣:http://pypi.douban.com/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
pycharm环境中修改:
file->settings-project interpreter
2、ImportError: cannot import name ‘main’
pip在导模块时,由于pip的版本不同,可能会没有main模块,这时需要修改pip源文件
修改如下:
1、找到安装Pycharm的路径
如我的:D:\ruanjian\python\pyCharm\pyCharmPro\PyCharm 2016.3\helpers
2、找到helpers文件夹下的packaging_tool.py
3、修改packaging_tool.py里面的两个函数,修改如下:
把原文中的:
def do_install(pkgs):
try:
import pip
except ImportError:
error_no_pip()
return pip.main(['install'] + pkgs)
def do_uninstall(pkgs):
try:
import pip
except ImportError:
error_no_pip()
return pip.main(['uninstall', '-y'] + pkgs)
改为:
def do_install(pkgs):
try:
try:
from pip.internal import main
except Exception:
from pip._internal import main as main
except ImportError:
error_no_pip()
return main(['install'] + pkgs)
def do_uninstall(pkgs):
try:
try:
from pip.internal import main
except Exception:
from pip._internal import main as main
except ImportError:
error_no_pip()
return main(['uninstall', '-y'] + pkgs)
保存即可。
3、更新pip命令
python -m pip install --upgrade pip
4、pip install xadmin
可能会遇到“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd5 in position 17: invalid continuation byte ”编码问题,这时有两种方法:
第一:修改__init__.py文件,找到路径“AppData\Local\Programs\Python\Python36\Lib\site-packages\pip\compat”下的__init__.py文件,用notepad++或记事本打开,找到“except UnicodeDecodeError:”(在75行),把下面的return s.decode(‘utf_8’)
改为return s.decode(‘gbk’)
第二种:到gitHub上找到xadmin的地址https://github.com/sshwsfc/xadmin
下载到项目根目录
pip3 install xadmin-master.zip
推荐第二种。
5、Liunx下更新pip出现找不到main()问题
描述:Traceback (most recent call last): File “/usr/bin/pip3”, line 9, in
from pip import main
ImportError: cannot import name main
解决方案:
修改: /usr/bin/pip3
打开:
vim /usr/bin/pip3
把
from pip import main
if __name__ == '__main__':
sys.exit(main())
改为:
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
6、解决pip升级到版本18的问题 You are using pip version 10.0.1, however version 18.0 is available.
首先删除就旧版本的pip
在 site-packages 目录中
然后执行
python -m ensurepip
然后再更新pip
python -m pip install --upgrade pip
pip install 库名
如果报一下错误:
Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问。: ‘d:\ruanjian\anaconda\lib\site-packages\numpy\core\multiarray.cp36-win_amd64.pyd’
Consider using the --user option or check the permissions.
解决方法:
pip install --user 库名
7、导入mysqlclient报错
OSError: mysql_config not found
sudo apt-get install libmysqlclient-dev
pip3 install mysqlclient
8、ubuntu中pip install pyodbc报错command ‘x86_64-linux-gnu-gcc’ failed with exit status 1
解决方案
sudo apt-get install unixodbc-dev
pip install pyodbc
9、ModuleNotFoundError: No module named ‘werkzeug.contrib’
原因
from werkzeug.contrib.cache import FileSystemCache
先导入:
pip install -U cachelib
然后使用下面这个:
from cachelib.file import FileSystemCache
后记
【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。
也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!
公众号
关注我,我们一起成长~~