无法从源代码安装python包

时间:2011-05-02 14:08:18

标签: python linux

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

我下载了源代码,因为我找不到任何干净的软件包来完成这项工作 a 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

  
    

回显$ 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。

3 个答案:

答案 0 :(得分:3)

简而言之:

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

Ubuntu存储库(apt-get方法)

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

这是最好的方法,因为本机程序包管理器将处理任何依赖项并更新问题。

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

setuptools的

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

sudo apt-get install python-setuptools

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

sudo easy_install colorworld

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

手动下载

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

答案 1 :(得分:2)

sudo aptitude install python-imaging

这将安装PIL库。

答案 2 :(得分:0)

sudo aptitude install python-imaging

那将安装PIL。但我真的不确定如何帮助你的其他包。也许尝试在突触中搜索它们。