羞羞的Python模块包
目录
一、pip
二、pip常用命令
三、No module 'xxxxx'
四、写在最后
前言
写Python代码的时候,经常会遇到包的问题,但是都是遇到一次,搜索一次,解决了。下一次还是同样的,没有去总结为什么,没有找到根本的原因,这样不是一个正经运维该有的操作,所以就有了这篇文章,算是自己的一个总结。最近体会到了,知识点一点一点磨,查漏补缺,形成自己的知识体系真的很重要。在基础扎实的情况下,新技术学起来也会溜得快。还有一点体会就是一定要动手,动手,动手,实践。不放过任何一个错误。
取名为羞羞的Python模块包是因为经常我们安装了模块包,但是他就是不出来,说不存在,因此我认为他只是害羞,给他赋予特权就会出来。
一、pip
1)pip是python的包管理工具,该工具提供了对Python包的查找、下载、安装、卸载等功能;Python2.7.9+ 或 Python 3.4+ 以上版本都自带pip工具;
2)如果没有自带的pip工具,可以到官网下载安装包,解压安装,版本自选
wget https://files.pythonhosted.org/packages/45/ae/8a0ad77defb7cc903f09e551d88b443304a9bd6e6f124e75c0fbbf6de8f7/pip-18.1.tar.gz tar -zxvf pip-18.1.tar.gz cd pip-18.1 python setup.py install pip -v
二、pip常用命令
# 安装 pip install # 卸载 pip uninstall # 搜索包 pip search PackageName # 显示安装包信息 pip show PackageName # 列出已经安装的包 pip list # 查看可升级的包 pip list -o
三、No module 'xxxxx'
1、检查是否真的没有这个模块,使用pip安装即可;
2、我们经常遇到的情况是,在执行脚本经常会遇到明明import了包,也pip安装了包,但是就是报错,“...ModuleNotFoundError: No module named 'Flask'...”;
原因:这是因为python的系统路径没有包含pip安装模块所在的路径
可以先通过python看一下,他的系统变量有哪一些,操作如下:
[root@ip-172-0-1-1 Flask2]# python3 Python 3.6.5 (default, Jul 24 2020, 06:35:37) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path ['', '/usr/local/python3/lib/python36.zip', '/usr/local/python3/lib/python3.6', '/usr/local/python3/lib/python3.6/lib-dynload', '/root/.local/lib/python3.6/site-packages', '/usr/local/python3/lib/python3.6/site-packages'] >>>
可以看到包含site-packages系统的路径有:
/root/local/lib/python3.6/site-packages /usr/local/python3/lib/python3.6/site-packages
而我们pip安装的时候的目录为/usr/local/lib/python3.6/site-packages,没有在python的系统变量里
pip3 install flask Requirement already satisfied: flask in /usr/local/lib/python3.6/site-packages (1.1.2) Requirement already satisfied: Werkzeug>=0.15 in /usr/local/lib/python3.6/site-packages (from flask) (1.0.1) Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3.6/site-packages (from flask) (1.1.0) Requirement already satisfied: click>=5.1 in /usr/local/lib/python3.6/site-packages (from flask) (7.1.2) Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.6/site-packages (from flask) (2.11.1) Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.6/site-packages (from Jinja2>=2.10.1->flask) (1.1.1)
3、解决办法
在已有的路径下,创建一个以.pth结尾的文件,并把这个没有的路径写入这个文件,如
echo "/usr/local/lib/python3.6/site-packages" > /usr/local/python3/lib/python3.6/site-packages/lee.pth
四、写在最后
在平凡中坚持前行,总有一天会遇见不一样的自己。
写博客记录、思考、总结,趟过的坑不趟第二遍。
所有的文章,皆同步在公众号“运维汪”,可关注;也可加入“不扯淡,专注于技术”的QQ群:753512236
作者:李先生
-------------------------------------------
个性签名:在平凡中坚持前行,总有一天会遇见不一样的自己!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
微信公众号 微信打赏 支付宝打赏
posted on 2020-07-25 09:27 Captain_Li 阅读(378) 评论(1) 编辑 收藏 举报