在Mac上安装pip3与xlrd的曲折路线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Mac上安装pip3与xlrd的曲折路线相关的知识,希望对你有一定的参考价值。

参考技术A 1、想要引用xlrd,想用pip安装,发现mac里没有pip。

2、尝试安装pip

3、按了个python3

================================================================
2022.1.24 我在新申请的虚拟机上想要安装个pip,发现这一步安装python的方法好像不对,替换为jumbo方式。
3.1 首先安装jumbo:

3.2 利用jumbo安装python和pip:

================================================================
4、安装xlrd

5、修改pip数据源(2022.01.24又验证了一下,非常好)

6、重新安装xlrd

7、使用xlrd.open_workbook引入xlsx文件时提示不能接受这个文件类型,即xlrd版本过老,写在默认安装的xlrd,重新安装

8、使用xlrd.open_workbook引入xlsx文件时提示『无法解析generater()方法』,这个问题就是python3标准库中的这个函数改名字(删掉)了xlrd没跟着更新,休要手动改一下。

9、使用

获取该包的文件存储位置,我的Mac上的存储位置是

10、修改xlsx.py中的内容,注意不是xlrd.py(并没有这个文件我找半天),替换generater()为iter(), 我这里一共两处,大家应该也差不多。这里提供vim中的查找和替换,虽然不知道为啥我这替换总是找不到匹配文本(求路过神仙指点)

ps: 最后一个命令的具体用法见 https://blog.csdn.net/cbaln0/article/details/87979056

在 Mac OS X 上使用 pip 安装 pyopencv

【中文标题】在 Mac OS X 上使用 pip 安装 pyopencv【英文标题】:install pyopencv with pip on Mac OS X 【发布时间】:2013-09-29 16:25:40 【问题描述】:

我正在尝试在 OS X Mountain Lion 中使用 pip 安装 pyopencv,但导入 setuptools 失败。以下是我的作品。 setuptools 中的“库”是什么?我以前没见过。我已经通过自制软件和其他东西安装了 opencv。在 pyopencv 的文档中,并没有说明使用 pip only source install 安装,

(img2)appleparan@LiamMac src $ brew install cmake
Warning: cmake-2.8.11.2 already installed
(img2)appleparan@LiamMac src $ brew install cmake --upgrade
Warning: cmake-2.8.11.2 already installed
(img2)appleparan@LiamMac src $ brew install opencv
Warning: opencv-2.4.6.1 already installed
(img2)appleparan@LiamMac src $ brew install boost
Warning: boost-1.54.0 already installed
(img2)appleparan@LiamMac src $ pip install pyopencv
Downloading/unpacking pyopencv
  Could not find a version that satisfies the requirement pyopencv (from versions: 2.0.wr1.0.1-demo, 2.0.wr1.0.1, 2.0.wr1.1.0, 2.1.0.wr1.0.0, 2.1.0.wr1.0.1, 2.1.0.wr1.0.2, 2.1.0.wr1.1.0, 2.1.0.wr1.2.0, 2.1.0.wr1.2.0-demo, 2.1.0.wr1.2.0)
Cleaning up...
No distributions matching the version for pyopencv
Storing complete log in /Users/appleparan/.pip/pip.log
(img2)appleparan@LiamMac src $ pip install pyopencv==2.1.0.wr1.2.0
Downloading/unpacking pyopencv==2.1.0.wr1.2.0
  Downloading pyopencv-2.1.0.wr1.2.0.tar.gz (363kB): 363kB downloaded
  Running setup.py egg_info for package pyopencv
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/Users/appleparan/.virtualenvs/img2/build/pyopencv/setup.py", line 92, in <module>
        from setuptools import setup, find_packages, Extension, Library
    ImportError: cannot import name Library
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/Users/appleparan/.virtualenvs/img2/build/pyopencv/setup.py", line 92, in <module>

    from setuptools import setup, find_packages, Extension, Library

ImportError: cannot import name Library

----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /Users/appleparan/.virtualenvs/img2/build/pyopencv
Storing complete log in /Users/appleparan/.pip/pip.log
(img2)appleparan@LiamMac src $ python --version
Python 2.7.5
(img2)appleparan@LiamMac src $ pip freeze
Pillow==2.1.0
distribute==0.7.3
matplotlib==1.3.0
nose==1.3.0
numpy==1.7.1
pyparsing==2.0.1
python-dateutil==2.1
scipy==0.12.0
six==1.4.1
stevedore==0.12
tornado==3.1.1
virtualenv==1.10.1
virtualenv-clone==0.2.4
virtualenvwrapper==4.1.1
wsgiref==0.1.2
(img2)appleparan@LiamMac src $

编辑:我发现 setuptools 源具有库和扩展 (https://bitbucket.org/pypa/setuptools/src/27df3c725f9696ba730456f3f444cc2fb5271d4b/setuptools/extension.py?at=default) 但我不知道为什么它无法识别。

我的 setuptools 的版本是 1.1.6

(img2)appleparan@LiamMac src $ pip install setuptools --upgrade
Requirement already up-to-date: setuptools in /Users/appleparan/.virtualenvs/img2/lib/python2.7/site-packages/setuptools-1.1.6-py2.7.egg
Cleaning up...
(img2)appleparan@LiamMac src $

【问题讨论】:

安装最新版本的setuptools 而不是distribute 我已经删除了分发,它并没有解决我的问题。 您在删除distribute 后是否安装了setuptools 是的,我卸载了它们并只安装了 setuptools(使用***.com/questions/7446187/…)。然后我又试了一次,还是失败了。 【参考方案1】:

在最新版本的 setuptools 中,Library 位于 extension.py 内部。 pyopencv 应该将Library 导入为setuptools.extension.Library 而不是setuptools.Library

【讨论】:

那么……您是在对pip install extension 说这应该可以解决问题吗?或者在安装之前更改pyopencl的源代码?如果第二个……说真的,什么? 这个问题已经过去了很长时间。我现在没有使用 opencv,但是,似乎没有维护 pyopencv,而且似乎 opencv 支持 python 绑定本身。看到这个链接jeffreythompson.org/blog/2013/08/22/…(不确定优胜美地),试试这个方法怎么样?【参考方案2】:

改变

from setuptools import setup, find_packages, Extension, Library

from setuptools import *
from setuptools.extension import *

【讨论】:

【参考方案3】:

您可以打印python 来运行python 解释器,然后在python 中打印以下内容:

导入系统 系统路径

在输出中寻找类似于/Library/Python/2.7/site-packages 的行。 打印exit() 退出python解释器。

在命令行发出命令:cd /Library/Python/2.7/site-packages 并使用ls 命令列出文件。查找文件“cv.py”和“cv2.so”。他们应该在那里。然后参考~/.bash_profile文件发布命令cat ~/.bash_profile找到你的PYTHONPATH:应该有类似export PYTHONPATH=/usr/local/lib/python2.7/site-packages的行。发出命令cd /usr/local/lib/python2.7/site-packages 以跳转到该文件夹​​。

现在您可以为 cv2.so 和 cv.py 发出命令创建符号链接: sudo ln -s /usr/local/lib/python2.7/site-packages/cv.py /Library/Python/2.7/site-packages/cv.pysudo ln -s /usr/local/lib/python2.7/site-packages/cv2.so /Library/Python/2.7/site-packages/cv2.so.

【讨论】:

请考虑代码或命令的正确格式,以使您的答案更具可读性。感谢并欢迎 SA。此外,请解释您的解决方案为何有效。

以上是关于在Mac上安装pip3与xlrd的曲折路线的主要内容,如果未能解决你的问题,请参考以下文章

安装PIL的曲折过程

在曲折的前行道路上保持初心

十年略曲折的求学与工作历程

Mac安装TensorFlow填坑记

Structured Streaming曲折发展史

记录曲折的装机过程