[Python-de] Python Shared Library & Python Dateien im Core

Markus Zapke-Gründemann markuszapke at gmx.net
Mo Sep 19 11:05:07 CEST 2011


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hallo Hartmut.

Hartmut Goebel schrieb:
> Am 16.09.2011 15:57, schrieb Markus Zapke-Gründemann:
>> ich habe Python 2.7 selbst kompiliert, um eine Shared Library zu erhalten,
>> mit
> 
> Ist das nötig? Liefert Deinen Distribution Python statisch gelinkt aus?
Ich muss Red Hat Enterprise Linux 5.x benutzen. Da gibt es nur Python 2.4.

>> Es scheint also so zu sein, dass die Python Module aus dem Python Core
>> nicht in der Shared Library enthalten sind.
> 
> Ja, nur die built-in Module sind in der shared lib enthalten. Sonst müsste
> die ja auch alle pure-Python Module enthalten und würde riesig.
Was genau meinst du mit built-in Modulen? Ist UserDict kein built-in Modul?

>> Kann mir jemand sagen, ob ich den Ort, an dem die Shared Library diese
>> Module sucht, zum Kompilieren oder in der späteren Anwendung neu
>> definieren kann?
> 
> Es sollte genügen, PYTHONPATH zu setzten. Funktioniert das nicht?
Ich kann den PYTHONPATH nicht setzen. Es geht in meinem Fall um eine WSGI
Applikation. Diese läuft mit den Accounts verschiedener Nutzer. Da ich deren
Umgebungsvariablen nicht kontrollieren kann, kann ich mich nicht darauf
verlassen, dass diese richtig gesetzt sind.

Eine Möglichkeit wäre natürlich den Pfad im WSGI Skript zu setzen. Ich weiss,
dass das nicht besonders sauber ist, aber es ist bei diesem Setup die einzige
Möglichkeit sicher zu stellen, dass der Pfad nicht geändert wird.

> Wenn ich mir das Makefile ansehe, würde ich allerdings glauben, das es dort 
> bereits die endgültigen Pfad gesetzt wird (in Deinem Fall also 
> /opt/python/2.7/lib/python2.7/). Aber vielleicht hilft Dir ein Blick in 
> Modules/getpath.c weiter.
Ich habe auch den Eindruck, dass der Pfad beim Kompilieren gesetzt wird und
später nicht mehr zu ändern ist. Ich war mir aber nicht sicher, ob das wirklich
so sein muss und habe deshalb gefragt.


Viele Grüße

Markus
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJOdwXCAAoJEE1f0MEMWBdFCFAIAJj3NC3twGH+Or1rFrODU5wu
IO3heAWWdNIaGyamJ7khRoP+rI4xyr+8hGe4Bed2PApKqiQ2V9SqhkFxutZEcoJ1
XmED5Cjjko81UMCPKROd0cWC/HdmyVJGqr+4XZi5gEGYWHX+FsHcC0dhRfYpz7OU
JWO1Q6JCaEoJACld9Aj/Hd876jF9p1/q3RyQnIpJILgATvzcFHi6poSxZIg365nW
TkERDEgoTiywTXoveNc7vSZTbwH4yGS/Y4RYFqnko7jlfRija3+lZNVCp1KzNbj4
ijVZ2Y8DxLSGkpKWwRGVDw7zspj/X33Z+GpTG30vhvK4y9LXdVqcRGriJ1YL+4g=
=Kee6
-----END PGP SIGNATURE-----


Mehr Informationen über die Mailingliste python-de