羞羞的Python模組包
阿新 • • 發佈:2020-07-25
目錄
一、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.pyinstall 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'...”; 原因:[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