Я использую Ubuntu 10.10 (Linux pc07 2.6.35-27-generic #48-Ubuntu SMP Tue Feb 22 20:25:46 UTC 2011 x86_64 GNU/Linux
) и пакет Python по умолчанию (Python 2.6.6).
Я хотел бы установить python-psyco
улучшать производительность одного из моих сценариев, но только python-psyco-doc
доступно для 64 битов. Я попробовал виртуальную машину, но повышение производительности находится намного меньше на виртуальной машине, чем на "реальной" установленной 32-разрядной Ubuntu.
Таким образом, мой вопрос: Как я могу установить Python на 32 бита с психо на моей машине Ubuntu на 64 бита?
править: Я нашел эту статью и сделал это:
OPT=-m32 LDFLAGS=-m32 ./configure --prefix=/opt/pym32
make
Но я получил эту ошибку:
gcc -pthread -m32 -Xlinker -export-dynamic -o python \
Modules/python.o \
libpython2.7.a -lpthread -ldl -lutil -lm
libpython2.7.a(posixmodule.o): In function `posix_tmpnam':
/home/moose/Downloads/Python-2.7.1/./Modules/posixmodule.c:7346: warning: the use of `tmpnam_r' is dangerous, better use `mkstemp'
libpython2.7.a(posixmodule.o): In function `posix_tempnam':
/home/moose/Downloads/Python-2.7.1/./Modules/posixmodule.c:7301: warning: the use of `tempnam' is dangerous, better use `mkstemp'
Segmentation fault
make: *** [sharedmods] Fehler 139
edit2: Теперь я нашел http://indefinitestudies.org/2010/02/08/how-to-build-32-bit-python-on-ubuntu-9-10-x86_64/, и кажется, что это работало:
cd Python-2.7.1
CC="gcc -m32" LDFLAGS="-L/lib32 -L/usr/lib32 \ -L
pwd/lib32 -Wl,-rpath,/lib32 -Wl,-rpath,/usr/lib32" \ ./configure --prefix=/opt/pym32
make
sudo make install
Но установка психо не работала:
Эта ошибка появилась:
PROCESSOR = 'ivm'
running install
running build
running build_py
running build_ext
building 'psyco._psyco' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DALL_STATIC=1 -Ic/ivm -I/usr/include/python2.6 -c c/psyco.c -o build/temp.linux-x86_64-2.6/c/psyco.o
In file included from c/psyco.c:1:
c/psyco.h:9: fatal error: Python.h: Datei oder Verzeichnis nicht gefunden
compilation terminated.
error: command 'gcc' failed with exit status 1
Установка пакета python-dev
решенный проблема, но я все еще не мог использовать психо. Теперь я установил Систему Ubuntu на 32 бита.
Я наконец заставил это работать путем установки 32-разрядной schroot'ed среды. Следуйте за направлениями здесь: https://help.ubuntu.com/community/DebootstrapChroot
Я использовал следующий конфигурационный файл для своего schroot (/etc/schroot/chroot.d/natty32.conf
):
[natty32]
description=Ubuntu 11 for i386
directory=/srv/chroot/natty32
personality=linux32
root-users=myloginname
type=directory
users=myloginname
После того, как установленный, запустите schroot сессию:
schroot -c natty32 -u root
Затем установите python2.6 с Кв. - получают, устанавливают зернышко с помощью него (http://guide.python-distribute.org/installation.html), затем побеждают установку психо, numpy, &c.
Для запуска 32-битных приложений в 64-битной системе Ubuntu вам потребуется ia32-libs
. С терминала подтвердите, если у вас это есть, используя
dpkg -l ia32-libs
. Если вы установили его, вывод должен выглядеть так: необходимо установить его с помощью:
sudo apt-get install ia32-libs