Comment ajouter à commencer chemin Python bash
-
26-10-2019 - |
Question
Voici mon .bash_profile
PYTHONPATH=".:/home/miki725/django/django:$PYTHONPATH"
export PYTHONPATH
Alors je python ouvert cependant le répertoire ajouter à .bash_profile
est pas le premier:
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'
>>>
Comment puis-je ajouter à un chemin de python dans .bash_profile
il serait au début. Ceci est pour l'hébergement mutualisé. Je dois être en mesure d'importer mes django installer au lieu d'utiliser par défaut du système.
Merci
La solution
Votre meilleur pari est de modifier sys.path
lors de l'exécution. Dans un environnement d'hébergement partagé, il est courant de le faire dans votre fichier .wsgi. Vous pouvez faire quelque chose comme ceci:
import sys
sys.path.insert(0, '/home/miki725/django/django')
Si vous ajoutez à votre export PYTHONSTARTUP=/home/miki725/.pythonrc
.bash_profile
, vous pouvez ajouter que votre fichier .pythonrc
, et il sera exécuté avant est représentée une invite interactive ainsi.
Autres conseils
une approche alternative, vous pouvez modifier sys.path
directement à partir de l'interprète:
sys.path.insert(0,"/home/miki725/django/django")
Je dirais que votre PYTHONPATH
est modifié lorsque le le module de site est importé. S'il vous plaît jeter un oeil sur le module utilisateur pour fournir l'utilisateur configuration spécifique de (fondamentalement juste préfixer les répertoires qui vous intéressent à sys.path
).
Note:. user
module est actuellement dépréciée, mais pour Python 2.4 cela devrait fonctionner
Edit: Juste pour être complet, pour python> = 2.6 (module user
dépréciée), vous devez créer un fichier usercustomize.py
dans votre répertoire site-packages
local comme expliqué .
Comme indiqué par d'autres, vous modifiez le sys.path
directement en Python comme ceci:
sys.path.insert(0,"/home/miki725/django/django")
Mais je pense que virtualenv est la solution que vous recherchez. Cet outil vous permet de créer des environnements Python isolés.