So fügen Sie zum Beginn des Python -Pfades in Bash hinzu
-
26-10-2019 - |
Frage
Hier ist mein .bash_profile
PYTHONPATH=".:/home/miki725/django/django:$PYTHONPATH"
export PYTHONPATH
Also öffne ich Python, aber das Verzeichnis, das ich hinzufüge, füge ich hinzu .bash_profile
ist nicht der erste:
Python 2.4.3 (#1, Sep 21 2011, 20:06:00)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for i in sys.path:
... print i
...
/usr/lib/python2.4/site-packages/setuptools-0.6c9-py2.4.egg
/usr/lib/python2.4/site-packages/flup-1.0.2-py2.4.egg
/usr/lib/python2.4/site-packages/MySQL_python-1.2.3c1-py2.4-linux-i686.egg
/usr/lib/python2.4/site-packages/django_form_utils-0.1.7-py2.4.egg
/usr/lib/python2.4/site-packages/mechanize-0.2.1-py2.4.egg
/usr/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg
/usr/lib/python2.4/site-packages/mercurial-1.6-py2.4-linux-i686.egg
/usr/lib/python2.4/site-packages/lxml-2.2.7-py2.4-linux-i686.egg
/usr/lib/python2.4/site-packages/django_registration-0.7-py2.4.egg
/usr/lib/python2.4/site-packages/sorl_thumbnail-3.2.5-py2.4.egg
/usr/lib/python2.4/site-packages/South-0.7.2-py2.4.egg
/usr/lib/python2.4/site-packages/django_keyedcache-1.4_1-py2.4.egg
/usr/lib/python2.4/site-packages/django_livesettings-1.4_3-py2.4.egg
/usr/lib/python2.4/site-packages/django_app_plugins-0.1.1-py2.4.egg
/usr/lib/python2.4/site-packages/django_signals_ahoy-0.1_2-py2.4.egg
/usr/lib/python2.4/site-packages/pycrypto-2.3-py2.4-linux-i686.egg
/usr/lib/python2.4/site-packages/django_threaded_multihost-1.4_0-py2.4.egg
/usr/lib/python2.4/site-packages/PIL-1.1.7-py2.4-linux-i686.egg
/usr/lib/python2.4/site-packages/pyOpenSSL-0.11-py2.4-linux-i686.egg
/usr/lib/python2.4/site-packages/ZSI-2.0_rc3-py2.4.egg
/usr/lib/python2.4/site-packages/PyXML-0.8.4-py2.4-linux-i686.egg
/usr/lib/python2.4/site-packages/pyquery-0.6.1-py2.4.egg
/usr/lib/python2.4/site-packages/pip-1.0.1-py2.4.egg
/usr/lib/python2.4/site-packages/virtualenv-1.6.1-py2.4.egg
/usr/lib/python2.4/site-packages/simplejson-2.1.6-py2.4-linux-i686.egg
/home/miki725
/home/miki725/django/django
/usr/lib/python24.zip
/usr/lib/python2.4
/usr/lib/python2.4/plat-linux2
/usr/lib/python2.4/lib-tk
/usr/lib/python2.4/lib-dynload
/usr/lib/python2.4/site-packages
/usr/lib/python2.4/site-packages/Numeric
/usr/lib/python2.4/site-packages/PIL
/usr/lib/python2.4/site-packages/gtk-2.0
>>>
>>>
>>>
>>>
>>> import django
>>> django.__file__
'/usr/lib/python2.4/site-packages/Django-1.2.1-py2.4.egg/django/__init__.pyc'
>>>
Wie kann ich einen Python -Pfad in ergänzen? .bash_profile
Also wäre es am Anfang. Dies ist für gemeinsames Hosting. Ich muss in der Lage sein, meine Django -Installation zu importieren, anstatt Systemversand zu verwenden.
Vielen Dank
Lösung
Ihre beste Wahl ist es, zu ändern sys.path
zur Laufzeit. In einer gemeinsamen Hosting -Umgebung ist es üblich, dies in Ihrer .wsgi -Datei zu tun. Sie könnten so etwas tun:
import sys
sys.path.insert(0, '/home/miki725/django/django')
Wenn Sie hinzufügen export PYTHONSTARTUP=/home/miki725/.pythonrc
zu deinem .bash_profile
, Sie können das hinzufügen, das Ihre .pythonrc
Datei, und sie wird ausgeführt, bevor auch eine interaktive Eingabeaufforderung angezeigt wird.
Andere Tipps
Als alternativer Ansatz können Sie ändern sys.path
direkt vom Dolmetscher:
sys.path.insert(0,"/home/miki725/django/django")
Ich würde sagen, dass deine PYTHONPATH
wird modifiziert, wenn die Seite? ˅ Modul wird importiert. Bitte schauen Sie sich das an die Benutzer Modul zur Bereitstellung einer benutzerspezifischen Konfiguration (im Grunde genommen nur die Verzeichnisse vorbereiten, für die Sie interessiert sind sys.path
).
Notiz: user
Das Modul ist derzeit veraltet, aber für Python 2.4 sollte dies funktionieren.
Bearbeiten: Nur zur Vollständigkeit, für Python> = 2.6 (user
Modul veraltet), Sie sollten a erstellen usercustomize.py
Datei in Ihrem lokalen site-packages
Verzeichnis wie erläutert hier.
Wie von anderen angegeben, ändern Sie die sys.path
Direkt in Python wie folgt:
sys.path.insert(0,"/home/miki725/django/django")
Aber ich denke das virtualenv ist die Lösung, die Sie suchen. Mit diesem Tool können Sie isolierte Python -Umgebungen erstellen.