目录

一、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---- Flask2]# python3
Python 3.6. (default, Jul , ::)
[GCC 4.8. (Red Hat 4.8.-)] 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./site-packages
/usr/local/python3/lib/python3./site-packages
而我们pip安装的时候的目录为/usr/local/lib/python3.6/site-packages,没有在python的系统变量里
 
pip3 install flask
Requirement already satisfied: flask in /usr/local/lib/python3./site-packages (1.1.)
Requirement already satisfied: Werkzeug>=0.15 in /usr/local/lib/python3./site-packages (from flask) (1.0.)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3./site-packages (from flask) (1.1.)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python3./site-packages (from flask) (7.1.)
Requirement already satisfied: Jinja2>=2.10. in /usr/local/lib/python3./site-packages (from flask) (2.11.)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3./site-packages (from Jinja2>=2.10.->flask) (1.1.)
3、解决办法
 
在已有的路径下,创建一个以.pth结尾的文件,并把这个没有的路径写入这个文件,如
 
echo "/usr/local/lib/python3.6/site-packages" > /usr/local/python3/lib/python3./site-packages/lee.pth

四、写在最后

 
在平凡中坚持前行,总有一天会遇见不一样的自己。
 
写博客记录、思考、总结,趟过的坑不趟第二遍。
 

所有的文章,皆同步在公众号“运维汪”,可关注;也可加入“不扯淡,专注于技术”的QQ群:753512236

羞羞的Python模块包的更多相关文章

  1. (转载)Linux平台下安装 python 模块包

    https://blog.csdn.net/aiwangtingyun/article/details/79121145 一.安装Python Windows平台下: 进入Python官网下载页面下载 ...

  2. Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用

    在eclipse中用pydev开发Python脚本时,我遇到了一个这样的现象,当我新建一个pydev package时,总会自动地生成一个空的__init__.py文件,因为是python新手,所以很 ...

  3. python模块, 包的初识

    Python 模块(Module), 是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代 ...

  4. 18.Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用

    原来在python模块的每一个包中,都有一个__init__.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了.当 ...

  5. Python模块/包/库安装几种方法(转载)

    一.方法1: 单文件模块直接把文件拷贝到 $python_dir/Lib 二.方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip或tar.gz),进行解压,CMD->cd进入模 ...

  6. Python——模块&包&异常

    模块&包&异常 一. 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义(变量)和Python语句. 模块能定义函数 ...

  7. Python模块包中__init__.py文件的作用

    转载自:http://hi.baidu.com/tjuer/item/ba37ac4ce7482a0f6dc2f08b 模块包: 包通常总是一个目录,目录下为首的一个文件便是 __init__.py. ...

  8. python模块与包的导入

    1. 模块与包的区别 模块,即module,一个包含python语句的.py文件就是一个模块!每个源代码文件都会自动成为模块!没有额外的语法用来声明模块. 包,又称模块包,即module packag ...

  9. Python札记 -- 使用easy_install进行模块/包管理

    今天在阅读以前项目代码时,发现里面使用的第三方模块的参数相当诡异,总是对不上.经过分析之后,发现是自己安装的第三方模块跟项目使用的版本不一致.在Python中进行模块/包管理的话,就不得不提到easy ...

随机推荐

  1. 痞子衡嵌入式:利用i.MXRT1xxx系列ROM提供的FlexSPI driver API可轻松IAP

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT系列ROM中的FlexSPI驱动API实现IAP. 痞子衡的技术交流群里经常有群友提问: i.MXRT中的FlexSPI驱动 ...

  2. springboot 整合retry(重试机制)

    当我们调用一个接口可能由于网络等原因造成第一次失败,再去尝试就成功了,这就是重试机制,spring支持重试机制,并且在Spring Cloud中可以与Hystaix结合使用,可以避免访问到已经不正常的 ...

  3. 【react】实现动态表单中嵌套动态表单

    要实现一个功能动态表单中嵌套动态表单如下: 仔细看看antd的文档其实不难 具体步骤如下 1.建立一个 名为 ConcatRegion的组件(动态表单A)代码如下 export function Co ...

  4. web前端开发书籍推荐_css/css3的好书有哪些?

    css/css3样式已是web前端开发的主流技术了.每个优秀的前端程序员都应该熟悉,甚至精通css.那么要如何才能学好css,并很好的应用到实际开发中,这篇文章就推荐一些关于css相关的书籍给大家. ...

  5. Navicat远程连接MySQL 提示1045 - Access denied for user 'root'@'223.74.158.192'(using password:YES)

    问题: 今天在自己的阿里云服务器上(Window Server2012 R2)安装了一个MySQL5.7.26,在阿里云服务器中通过本地链接是正常的,但是当在自己的电脑上使用Navicat连接是提示: ...

  6. Netty 中的内存分配浅析-数据容器

    本篇接续前一篇继续讲 Netty 中的内存分配.上一篇 先简单做一下回顾: Netty 为了更高效的管理内存,自己实现了一套内存管理的逻辑,借鉴 jemalloc 的思想实现了一套池化内存管理的思路: ...

  7. 「区间DP」「洛谷P1043」数字游戏

    「洛谷P1043」数字游戏 日后再写 代码 /*#!/bin/sh dir=$GEDIT_CURRENT_DOCUMENT_DIR name=$GEDIT_CURRENT_DOCUMENT_NAME ...

  8. mac篇---iterm2的基本常用命令

    标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:comma ...

  9. SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后端篇(五): 数据表设计、使用 jwt、redis、sms 工具类完善注册登录逻辑

    (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https://www.cnblogs.com/l-y-h/p ...

  10. web 部署专题(一):Gunicorn运行与配置方法

    Gunicorn“绿色独角兽”是一个被广泛使用的高性能的Python WSGI UNIX HTTP服务器,移植自Ruby的独角兽(Unicorn )项目,使用pre-fork worker模式,具有使 ...