Ubuntu系统下Python基础库的安装以及pip和pip3常见报错解答

2023-05-16

Ubuntu系统下Python基础库的安装以及pip和pip3常见报错解答

  • 安装python依赖库
    • Python基础库安装
      • Python项目requirements文件的生成和使用
        • 1. 生成requirements.txt
        • 方法一:pip freeze
        • 方法二:pipreqs
        • 2. 根据requirements.txt安装依赖库
    • pip和pip3常见报错
      • **问题描述 1**
      • **问题描述 2**

安装python依赖库

Python基础库安装

注意Python2 的话用pip安装,Python3pip3安装(总之要知道安装在哪里,有的系统将python软连接到Python3上了)

pip install scipy \
            pandas \
            numpy \
            scikit-image \
            scikit-learn \
            matplotlib \
            pandas \
            tqdm \
            Pillow

Anaconda虚拟环境中首先激活虚拟环境,然后用conda安装依赖包:

conda install jupyter notebook \
              scipy \
              pandas \
              numpy \
              scikit-image \
              cikit-learn \
              matplotlib \
              pandas \
              tqdm \
              Pillow

DGX-ONE服务器下安装:

apt-get install scipy
apt-get install numpy
apt-get install python-skimage(install skimage)
(pspnet): install matio

Python项目requirements文件的生成和使用

我们做开发时为何需要对依赖库进行管理?当依赖类库过多时,如何管理类库的版本?
Python提供通过requirements.txt文件来进行项目中依赖的三方库进行整体安装导入。

首先看一下requirements.txt的格式:

requests==1.2.0
Flask==0.10.1

Python安装依赖库使用pip可以很方便的安装,如果我们需要迁移一个项目,那我们就需要导出项目中依赖的所有三方类库的版本、名称等信息。

接下来就看Python项目如何根据requirements.txt文件来安装三方类库

1. 生成requirements.txt

  • 方法一:pip freeze

使用pip freeze生成requirements.txt

pip freeze > requirements.txt

pip freeze命令输出的格式和requirements.txt文件内容格式完全一样,因此我们可以将pip freeze的内容输出到文件requirements.txt中。在其他机器上可以根据导出的requirements.txt进行包安装。

注意pip freeze输出的是本地环境中所有三方包信息,但是会比pip list少几个包,因为pip,wheel,setuptools等包,是自带的而无法(un)install的,如果要显示所有包可以加上参数-all,即pip freeze -all

  • 方法二:pipreqs

使用pipreqs生成requirements.txt

首先先安装pipreqs:

pip install pipreqs

使用pipreqs生成requirements.txt:

pipreqs ./

注意:pipreqs生成指定目录下的依赖类库

上面两个方法的区别?
使用pip freeze保存的是当前Python环境所有的类库,如果你没有用virtualenv来对Python环境做虚拟化的话,类库就会很杂很多,在对项目进行迁移的时候我们只需关注项目中使用的类库,没有必要导出所有安装过的类库,因此我们一般迁移项目不会使用pipreqspip freeze更加适合迁移整个python环境下安装过的类库时使用。(不知道virtualenv是什么或者不会使用它的可以查看:《构建Python多个虚拟环境来进行不同版本开发之神器-virtualenv》)。

使用pipreqs它会根据当前目录下的项目的依赖来导出三方类库,因此常用与项目的迁移中。

这就是pip freeze、pipreqs的区别,前者是导出Python环境下所有安装的类库,后者导出项目中使用的类库。

2. 根据requirements.txt安装依赖库

如果要安装requirements.txt中的类库内容,那么你可以执行:

pip install -r requirements.txt

pip和pip3常见报错

问题描述 1

$ pip3 --version
Traceback (most recent call last):
  File "/usr/bin/pip3", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2708, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==1.5.6

解决方法

sudo python3 get-pip.py
sudo python3 ez_setup.py

其中get-pip.py和ez_setup.py文件在src/fix_pip文件夹中。

问题描述 2

Error checking for conflicts.
Traceback (most recent call last):
  File "/home/andy/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2584, in version
    return self._version
  File "/home/andy/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2691, in __getattr__
    raise AttributeError(attr)
AttributeError: _version
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/home/andy/.local/lib/python3.5/site-packages/pip/_internal/commands/install.py", line 503, in _warn_about_conflicts
    package_set, _dep_info = check_install_conflicts(to_install)
  File "/home/andy/.local/lib/python3.5/site-packages/pip/_internal/operations/check.py", line 108, in check_install_conflicts
    package_set, _ = create_package_set_from_installed()
  File "/home/andy/.local/lib/python3.5/site-packages/pip/_internal/operations/check.py", line 47, in create_package_set_from_installed
    package_set[name] = PackageDetails(dist.version, dist.requires())
  File "/home/andy/.local/lib/python3.5/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2589, in version
    raise ValueError(tmpl % self.PKG_INFO, self)
ValueError: ("Missing 'Version:' header and/or METADATA file", Unknown [unknown version] (/home/andy/.local/lib/python3.5/site-packages))

在这里插入图片描述

解决方法
运行以下代码,查看site-packages下的文件夹, 删除以 - 开头的文件夹:

python3 -c "import site; print(site.getsitepackages())"

到报错文件夹下(这里是/home/andy/.local/lib/python3.5/site-packages)删除 - 开头的文件夹,然后重新执行 pip3 list .
我这里是 -pencv_python-3.4.3.18.dist-info

rm -rf  ./-pencv_python-3.4.3.18.dist-info

然后 pip3 list 正常了.


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu系统下Python基础库的安装以及pip和pip3常见报错解答 的相关文章

  • 牛客优质好题分析(1)-----质数因子(合数思想)(C语言写法)

    题目 xff1a 点击 xff1a 质数因子 本题我写了几种方法 xff0c 由浅入深 看答案 xff0c 让我们先分析一下题目 xff0c 这个题目说的是给你一个数 xff0c 让你用他的质因子表示出来 xff0c 比如180 61 2
  • linux中的信号-3.5.linux应用编程和网络编程第5部分-朱有鹏-专题视频课程

    linux中的信号 3 5 linux应用编程和网络编程第5部分 3182人已学习 课程介绍 本课程对linux中信号及其相关的函数进行了讲解 xff0c 学习本课程目的是理解信号在系统设计中的作用和原理 xff0c 会使用signal或者
  • 基于STM32F103的单相在线式不间断电源设计

    摘要 xff1a 本文是以 基于STM32F103的单相在线式不间断电源设计 作为研究对象 xff0c 设计制作一款由控制电路 整流电路 Boost升压电路 单相逆变电路 交流直流采样电路 辅助电源电路构成的单相在线式不间断电源系统设计 以
  • Linux基础操作命令

    目录 bin 系统有很多放置执行档的目录 xff0c 但 bin比较特殊 因为 bin放置的是在单人维护模式下还能够被操作的指令 在 bin底下的指令可以被root与一般帐号所使用 xff0c 主要有 xff1a cat chmod 修改权
  • Ubuntu20.4安装ROS系统教程(自用)

    1 Ubuntu各个版本系统对应的ROS版本 1 2Ubuntu16 04与ROS kinetic的安装 1 2 1Ubuntu16 04配置 1 2 2安装ROS kinetic版 1 3Ubuntu18 04和ROS melodic的安
  • 如何在渗透测试中尽可能隐藏自己-proxychains4使用配置教程

    在渗透测试中 xff0c 往往需要对自身电脑ip进行网络上的隐藏 xff0c 如何才能快速简单的在网络扫描中简单实现匿名扫描呢 Proxychains帮助我们完成这一操作 那么 xff0c proxychains是什么 xff1f GNU协
  • HC-05/06蓝牙模块的原理及使用方法

    模块简介 HC 05 蓝牙串口通信模块 xff0c 是基于 Bluetooth Specification V2 0 带 EDR 蓝牙协议的 数传模块 无线工作频段为 2 4GHz ISM xff0c 调制方式是 GFSK 模块最大发射功率
  • 《教程》使用STLINK烧录STM32程序

    STM32单片机烧录程序一般需要烧录器 xff0c 下面介绍如何使用STLINK烧录STM32单片机程序 1 首先将STLINK与单片机的烧录接口连接好 xff0c 连接线序如下 xff1a 2 然后需要安装STLINK烧录软件 xff0c
  • ADC0832芯片原理及使用教程

    1 芯片简介 ADC0832是一种 8 位分辨率 250KHZ转换频率 双通道 A D 转换芯片 其内部电源输入与参考电压的复用 xff0c 使得芯片的模拟电压输入在 0 5V 之间 芯片转换时间仅为 32 S xff0c 据有双数据输出可
  • DS1302时钟芯片介绍及使用教程

    1 芯片简介 DS1302 涓流充电计时芯片包含一个实时时钟 日历和 31 字节的静态 RAM 通过简单的串行接口与微处理器通讯 这个实时时钟 日历提供年月日 时分秒信息 对于少于 31 天的月份月末会自动调整 还有闰年校正 由于有一个 A
  • LCD12864显示屏原理及使用教程

    1 芯片简介 LCD12864液晶显示模块是 128 64点阵的汉字图形型液晶显示模块 xff0c 可显示汉字及图形 xff0c 内置 8192个中文汉字 xff08 16X16 点阵 xff09 xff08 需带有字库的型号才能显示中文
  • 51单片机wifi物联网的浇花控制系统设计

    硬件设计 浇花控制系统采用51单片机与LCD液晶显示屏来实现 xff0c 利用温度 湿度传感器及相应的显示 驱动执行机构 报警装置等实现温室作物生长环境控制器的设计 硬件电路主要由51单片机 43 最小系统 43 lcd1602显示屏 43
  • IO-3.6.linux应用编程和网络编程第6部分-朱有鹏-专题视频课程

    IO 3 6 linux应用编程和网络编程第6部分 3455人已学习 课程介绍 本课程讲解linux中的IO部分 xff0c 包括非阻塞IO 多路复用IO 异步IO和内存映射IO等 本课程目标是让大家对并发情况下阻塞式IO的困境有所认识 x
  • stm32f103最小系统板详细介绍

    一 什么是单片机最小系统 常见的单片机最小系统为单片机能独立运行程序及控制外围电路的最简单电路 xff0c 主要由单片机 晶振电路 复位电路三部分构成 Stm32f103c8t6也不例外 xff0c 构成最小的运行电路也需要以上三部分 St
  • 基于51单片机的光照强度检测系统

    一 硬件方案 本设计采用单片机作为数据处理与控制单元 xff0c 为了进行数据处理 xff0c 通过光敏电阻来感应光强弱变化 xff0c 经过ADC0804转换 xff0c 直接将数字信号送入到单片机中进行数据处理 单片机数据处理之后 xf
  • ULN2003步进电机驱动电路详解

    一 ULN2003芯片介绍 ULN2003 是高耐压 大电流达林顿陈列 xff0c 由七个硅 NPN 达林顿管组成 该电路的特点如下 xff1a ULN2003 的每一对达林顿都串联一个 2 7K 的基极电阻 在 5V 的工作电压下它能与
  • 基于STM32单片机太阳能电池板追日光跟踪系统设计

    硬件方案 本设计采用光电跟踪的方法 xff0c 利用步进电机驱动 xff0c 由光电传感器根据入射光线的强弱变化产生反馈信号到微机处理器 微机处理器运行程序 xff0c 通过对跟踪机构进行控制 xff0c 调整太阳能电池板的角度实现对太阳的
  • 基于51单片机的甲醛浓度检测仪

    硬件方案 本设计以51单片机作为控制核心 xff0c 甲醛模组传感器作为检测信号源 xff0c 实现在甲醛浓度超过一定值的时候控制扬声器提示 本课题以C51系列的STC89c52RC为控制核心 xff0c 甲醛模组传感器模块检测信息 xff
  • 基于51单片机的教室智能照明控制系统

    硬件方案 本系统以51单片机作为控制模块的核心部件 xff0c 采用热释红外人体传感器检测人体的存在 xff0c 采用光敏三极管构成的电路检测环境光的强度 xff1b 根据教室合理开灯的条件 xff0c 通过对人体存在信号和环境光信号的识别
  • 51单片机的温控风扇设计

    一 硬件方案 系统采用51单片机作为控制平台对风扇转速进行控制 可由用户设置高 低温度值 xff0c 测得温度值在高低温度之间时打开风扇弱风档 xff0c 当温度升高超过所设定的温度时自动切换到大风档 xff0c 当温度小于所设定的温度时自

随机推荐