内涵:Python各种安装包问题汇总

2024-06-05 23:38

本文主要是介绍内涵:Python各种安装包问题汇总,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python各种包问题汇总,更新ing

  • 1、PIL与PILLOW
    • 1.1 PIL与PILLOW
    • 1.2 conda 安装pillow失败与解决方案
      • 1.2.1失败现象
      • 1.2.2解决方案
    • 1.3反思与挖掘
      • 1.3.1 pip 与conda
      • 1.3.2 conda中的channel(源)
      • 1.3.3Lib\site-packages与Anaconda3\pkgs
  • 2.python 离线包的安装
  • 3.python中图像处理包的区别

1、PIL与PILLOW

1.1 PIL与PILLOW

规范来讲,PIL包已经被废弃,取而代之的是pillow包,但pillow包的接口与PIL一致,二者可以近似的认为一个东西。
搜索关键字pypi PIL 可以看到PIL的更新时间截至到2006年

在这里插入图片描述
搜索关键字pypi pillow可以看到pillow包在不断的更新,目前已至当前时间2019年
在这里插入图片描述

1.2 conda 安装pillow失败与解决方案

1.2.1失败现象

from PIL import Image

使用conda install pillow成功安装pillow包之后,在Anaconda Prompt下输入上述代码,可成功导入相应模块。
但在cmd或者VSCODE等编译器中输入上述代码,则报如下的错:

>>> from PIL import Image
Traceback (most recent call last):File "<stdin>", line 1, in <module>File "D:\softwarepath\Anaconda3\lib\site-packages\PIL\Image.py", line 94, in <module>from . import _imaging as core
ImportError: DLL load failed: 找不到指定的模块。

1.2.2解决方案

通过在网上搜索,发现到两个解决方案,亲测可用。前提都是conda uninstall pillow先卸载之前没安装成功的pillow.然后进行如下操作:
方案一:pip install pillow
方案二:conda install -c conda-forge pillow(网上有讲这种方案的,但我试了好像不行,不知道为什么)

1.3反思与挖掘

问题虽然解决,但背后的原理,网上查了很长时间,也还没弄懂,如果有博友知道为什么直接conda install 不行,希望能留下你的指教。这里记录一下在试图了解背后原因的过程中,网上查到的一些资料。

1.3.1 pip 与conda

、pip是受python官方支持的python包管理工具。而conda则不单单针对于Python,它支持R 、C等,所以对于python来讲,pip才是受到认可的“正规军”?

1.3.2 conda中的channel(源)

conda install -c conda-forge中的-c是指明channel的意思,conda-forge是一个特定的channel。
   这里的channel是指"channels are locations where Navigator and conda look for packages",也就是说指明下载python包时,从哪里寻找并下载,可以认为是一个python包的仓库。并且"Navicator and conda only search for packages in active channels.“。后来想了想,这里的channel应该就是经常说的换"源"里面的"源”,例如大家因为国外源访问较慢,一般安装好python之后,通常会换为国内的源,例如清华“源”(channel),中科大“源”(channel)等。
3、如果想换源的话既可以像1.2.2中方案二中的在指令中“临时换源”,指明该包从哪里下载。也可以永久性换源。

  • 添加源

conda config --add channels conda-forge

这个时候就会在配置文件,一般位于C:\Users\你的用户名.condarc中出现如下内容,可以看到channels中添加了conda-forge,并且其优先级位于defaults(Anaconda源)的前面
在这里插入图片描述

  • 删除源

    conda config --remove channels conda-forge

结果就不展示了,大家自己实验

  • 追加源

conda config --append channels conda-forge

在这里插入图片描述
追加channel与添加channel相比的区别是,追加的channel的优先级低

1.3.3Lib\site-packages与Anaconda3\pkgs

前者有哪些模块决定了python可以导入大写包,后者文件夹仅仅是存放下载下来的压缩包和解压后的包的位置,占空间,貌似没有用,建议定期清理

conda clean -p

或者

conda clean -a

会清理掉没有使用的包,我清理了下,删除了1个多G空间

2.python 离线包的安装

在有网的情况下,可以使用pip install xxx或者conda install xxx直接安装python包。但有得时候,无网络的情况下,可以使用如下方式进行离线安装。

  • 下载xxx.whl文件(已经编译的包),然后pip install xxx.whl
  • 有的python包无.whl文件,只能找到源文件(一般形式为.tar.gz和.tar),下载,解压,然后进入,执行python setup.py install 即可
  • 第三种适用于无网但有内部pip源的情形(一般大型公司都会有自己的源),可以指定公司的源来进行安装。pip install xxx -i 源地址

3.python中图像处理包的区别

引用CSDN博主名为“Coral_2014”“的总结:对于常见的JPEG图片来说,PIL和skimage库load的图像的数据是完全一样的,而OpenCV加载的图片数据和这两个库有很大差别。对于PNG图片来说,这三个库load的图像的数据都是一样的。这应该与每个库使用的更底层的图像解码库有关。 其中skimage.io.imread可以传入一个叫plugin的参数,用来指定使用的图像解码库。官方文档有如下介绍:“By default, the different plugins are tried (starting with the Python Imaging Library) until a suitable candidate is found. If not given and fname is a tiff file, the tifffile plugin will be used.”[http://scikit-image.org/docs/dev/api/skimage.io.html#skimage.io.imread] 也就是说skimage.io.imread默认会先调用PIL库对图像进行解码,如果失败的话会调用其他库。这也是skimage和PIL库在load JPEG图片时数据是一致的。 我也查看了一下python-opencv的imread函数的说明文档,里面提到了在windows和mac环境下,opencv使用的是安装包自带的编解码器,主要是ibjpeg/libpng/libtiff等开源的图像编解码器。“

这篇关于内涵:Python各种安装包问题汇总的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1034501

相关文章

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

python常见环境管理工具超全解析

《python常见环境管理工具超全解析》在Python开发中,管理多个项目及其依赖项通常是一个挑战,下面:本文主要介绍python常见环境管理工具的相关资料,文中通过代码介绍的非常详细,需要的朋友... 目录1. conda2. pip3. uvuv 工具自动创建和管理环境的特点4. setup.py5.

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Python中help()和dir()函数的使用

《Python中help()和dir()函数的使用》我们经常需要查看某个对象(如模块、类、函数等)的属性和方法,Python提供了两个内置函数help()和dir(),它们可以帮助我们快速了解代... 目录1. 引言2. help() 函数2.1 作用2.2 使用方法2.3 示例(1) 查看内置函数的帮助(

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以