Невозможно установить пакеты Python из исходного кода - PullRequest
5 голосов
/ 02 мая 2011

Мне нужно установить PIL (библиотеку изображений Python) на мою машину Ubunto10.4-32bit (EDIT: 64bit) на моем python2.5.4-32bit. Этот вопрос также относится к любому другому исходному пакету, который, я думаю, (среди тех, что мне нужны, RPyC, psyco и numpy).

Я скачал исходный код, так как не могу найти ни одного аккуратного пакета, чтобы выполнить работу, и сделал
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.

Ответы [ 3 ]

3 голосов
/ 02 мая 2011

Короче:

Попробуйте сначала использовать репозиторий Ubuntu.Если пакет не существует, используйте easy_install.Если все не удается, загрузите пакет прямо в исходную папку.

Репозиторий Ubuntu (подход apt-get)

В Ubuntu (10.04 и новее) большинство основных пакетов доступно с apt-get,Соглашение об именах: python-NAME, например, python-imaging или python-scipy.

Это лучший способ, так как встроенный менеджер пакетов будет обрабатывать любые зависимости и проблемы с обновлениями.

Запустите apt-cache search python | grep "^python-" | less, чтобы увидеть список пакетов, доступных для вашей системы (у меня более 1200 на моем компьютере 10.04).

Setuptools

Для пакетов, которые не являются частью репозитория Ubuntu, выМожно использовать инструмент Python easy-install.Сначала установите инструмент установки:

sudo apt-get install python-setuptools

И вы можете установить любой пакет Python, например, colorworld , используя easy-install:

sudo easy_install colorworld

Это дает вамнекоторая степень защиты (например, обрабатывает зависимости), но обновления, как правило, выполняются вручную, и очень сложно переустановить все эти пакеты на новом компьютере.

Загрузка вручную

Вы всегда можете загрузитьИсходный код в какой-то каталог и добавьте его в PYTHONPATH.Это лучший подход, когда вам просто нужно оценить пакет или применить какое-то быстрое и грязное решение.

2 голосов
/ 02 мая 2011
sudo aptitude install python-imaging

Это установит библиотеку PIL.

0 голосов
/ 02 мая 2011
sudo aptitude install python-imaging

Это установит PIL. Но я не совсем уверен, как помочь с другими вашими пакетами. Может быть, попробуйте найти их в синаптических.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...