Pregunta

Aquí está mi .bash_profile

PYTHONPATH=".:/home/miki725/django/django:$PYTHONPATH"
export PYTHONPATH

Entonces abro Python, sin embargo, el directorio que agrego .bash_profile no es el primero:

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'
>>> 

¿Cómo puedo agregar a un camino de pitón en .bash_profile Entonces sería al principio. Esto es para alojamiento compartido. Necesito poder importar mi instalación de Django en lugar de usar el sistema predeterminado del sistema.

Gracias

¿Fue útil?

Solución

Tu mejor opción es modificar sys.path en tiempo de ejecución. En un entorno de alojamiento compartido, es común hacer esto en su archivo .wsgi. Podrías hacer algo como esto:

import sys
sys.path.insert(0, '/home/miki725/django/django')

Si agregas export PYTHONSTARTUP=/home/miki725/.pythonrc para usted .bash_profile, puedes agregar que tu .pythonrc Archivo, y se ejecutará antes de que se muestre una solicitud interactiva también.

Otros consejos

Como enfoque alternativo, puede modificar sys.path directamente del intérprete:

sys.path.insert(0,"/home/miki725/django/django")

Yo diría que tu PYTHONPATH se está modificando cuando el sitio El módulo se importa. Por favor, eche un vistazo al usuario módulo para proporcionar una configuración específica del usuario (básicamente solo prependa los directorios que le interesa sys.path).

Nota: user El módulo está actualmente en desuso, pero para Python 2.4 esto debería funcionar.

Editar: solo para completar, para python> = 2.6 (user módulo en desuso), debe crear un usercustomize.py Archivo en su local site-packages directorio como se explicó aquí.

Como lo indican otros, modifica el sys.path directamente en Python como este:

sys.path.insert(0,"/home/miki725/django/django")

Pero yo creo eso virtualenv es la solución que está buscando. Esta herramienta le permite crear entornos de pitón aislados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top