python - 无法从源代码安装 python 包

标签 python linux

我需要在我的 python2.5.4-32 位上的 Ubunto10.4-32 位(编辑:64 位)机器上安装 PIL(python 图像库)。 这个问题也与我猜的任何其他源包有关(我需要的是 RPyCpsyconumpy)。

我下载了源代码因为我找不到任何整洁的包来完成这项工作并且做了
sudo python2.5 setup.py install
输出:

Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Traceback (most recent call last):
  File "setup.py", line 9, in <module>
    import glob, os, re, struct, string, sys
  File "/usr/lib/python2.5/struct.py", line 30, in <module>
    from _struct import Struct, error
ImportError: No module named _struct

但是

echo $PYTHONHOME
/usr

好吧,在文件 struct.py 中有一行 from _struct import Struct, error 这是 python 源代码本身的一部分,所以我真的很想知道 python 安装有什么问题,因为代码无法导入模块。
我通过以下方式安装了 py2.5.4:

./configure --prefix=/usr
make altinstall 

(使用 make altinstall 因为我需要 py26 作为默认的 python 解释器)

编辑:这个问题可能是由于错误地使用 64 位平台 :) 和 32 位 python2.5 引起的。所以无论如何,通过减少不必要的复杂性解决了问题 - 切换到 32 位机器并将应用程序移植到 python 2.6。

最佳答案

简而言之:

首先尝试使用 Ubuntu 存储库。如果该软件包不存在,请使用 easy_install。如果全部失败,请将包直接下载到您的源文件夹。

Ubuntu 存储库(apt-get 方法)

Ubuntu(10.04 及更新版本)的大多数主流软件包都可以通过 apt-get 获得。命名约定是 python-NAME,例如python-imagingpython-scipy

这是最好的方法,因为 native 包管理器将处理任何依赖项和更新问题。

运行 apt-cache search python | grep "^python-"| less 查看适用于您的系统的软件包列表(我的 10.04 机器上有超过 1,200 个)。

设置工具

对于不属于 Ubuntu 存储库的软件包,您可以使用 python easy-install 工具。首先,安装设置工具:

sudo apt-get install python-setuptools

你可以安装任何 Python 包,例如colorworld , 使用 easy-install:

sudo easy_install colorworld

这为您提供了一定程度的保护(例如,处理依赖项),但更新通常是手动的,在新计算机上重新安装所有这些包真的很痛苦。

手动下载

您始终可以将源代码下载到某个目录并将其添加到您的PYTHONPATH。当您只需要评估一个包或应用一些快速而简单的解决方案时,这是最好的方法。

关于python - 无法从源代码安装 python 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5858170/

相关文章:

python - from time import timestart_time = time() ,输出语法错误

python - cv2.PutText vs cv2.AddText 两者有什么区别?

linux - 使用 diff 命令查找两个目录之间的差异

c - Scandir自带过滤功能

linux - 有关创建 Ubuntu 软件包的 .sh 脚本的一些信息?

python - 使用 matplotlib 绘制特征行为

python - Django View : Count specific value from model

linux - 无法检查目录是否存在 shell 脚本

python - 如何通过 also-see 和 similar-to 关系获取与引用同义词集相关的同义词集? ( python NLTK)

c - 如何有效地将 ram_base 文件复制到磁盘