Ich verwende 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
) und das Standard-Python-Paket (Python 2.6.6).
Ich möchte installieren python-psyco
, um die Leistung eines meiner Skripte zu verbessern, ist jedoch nur python-psyco-doc
für 64-Bit verfügbar. Ich habe eine virtuelle Maschine ausprobiert, aber die Leistungssteigerung ist auf der virtuellen Maschine viel geringer als auf einem "echten" installierten 32-Bit-Ubuntu.
Meine Frage lautet also: Wie kann ich einen 32-Bit-Python mit Psyco auf meinem 64-Bit-Ubuntu-Computer installieren?
edit: Ich habe diesen Artikel gefunden und gemacht:
- Laden Sie "Python 2.7.1 bzipped source tarball" von http://python.org/download/ herunter.
- Gehen Sie in das Verzeichnis, in dem Sie "Python 2.7.1" dekomprimiert haben.
OPT=-m32 LDFLAGS=-m32 ./configure --prefix=/opt/pym32
make
Aber ich habe diesen Fehler bekommen:
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: Jetzt habe ich http://indefinitestudies.org/2010/02/08/how-to-build-32-bit-python-on-ubuntu-9-10-x86_64/ gefunden und es scheint, dass dies funktioniert hat:
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
Aber die Installation von psyco hat nicht funktioniert:
- Laden Sie den neuesten Schnappschuss herunter: http://psyco.sourceforge.net/download.html
- Extrahieren Sie es und gehen Sie in den Ordner
- python setup.py installieren
Dieser Fehler trat auf:
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
Die Installation des Pakets python-dev
löste das Problem, aber ich konnte psyco immer noch nicht verwenden. Jetzt habe ich ein 32Bit Ubuntu System installiert.
Antworten:
Um 32-Bit-Anwendungen auf einem 64-Bit-Ubuntu-System auszuführen, benötigen Sie
ia32-libs
. Überprüfen Sie von einem Terminal aus, ob Sie dies verwendenWenn Sie es installiert haben, sollte die Ausgabe folgendermaßen aussehen:
Wenn es so aussieht
un ia32-libs
, müssen Sie es installieren mit:quelle
Ich habe dies endlich zum Laufen gebracht, indem ich eine 32-Bit-Schroot-Umgebung installiert habe. Folgen Sie den Anweisungen hier: https://help.ubuntu.com/community/DebootstrapChroot
Ich habe die folgende Konfigurationsdatei für mein schroot (
/etc/schroot/chroot.d/natty32.conf
) verwendet:Starten Sie nach der Installation die Schroot-Sitzung:
Installieren Sie dann python2.6 mit apt-get, installieren Sie pip damit ( http://guide.python-distribute.org/installation.html ) und installieren Sie dann psyco, numpy usw.
quelle