这是我的.bash_profile
PYTHONPATH=".:/home/miki725/django/django:$PYTHONPATH"
export PYTHONPATH
然后我打开python但是我在.bash_profile
中添加的目录不是第一个:
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'
>>>
如何在.bash_profile
中添加到python路径,以便它在开头。这是为共享主机。我需要能够导入我的django安装而不是使用系统默认值。
谢谢
答案 0 :(得分:2)
最好的办法是在运行时修改sys.path
。在共享托管环境中,通常在.wsgi文件中执行此操作。你可以这样做:
import sys
sys.path.insert(0, '/home/miki725/django/django')
如果您将export PYTHONSTARTUP=/home/miki725/.pythonrc
添加到.bash_profile
,则可以添加.pythonrc
文件,并在显示交互式提示之前执行该文件。
答案 1 :(得分:0)
我要说导入site模块时正在修改PYTHONPATH
。请查看user模块以提供用户特定的配置(基本上只是将您感兴趣的目录添加到sys.path
)。
注意:user
模块目前已被弃用,但对于python 2.4,这应该可行。
编辑:为了完整起见,对于python> = 2.6(不建议使用user
模块),您应该在本地usercustomize.py
目录中创建一个site-packages
文件,如所述{{3} }。
答案 2 :(得分:0)
作为替代方法,您可以直接从解释器修改sys.path
:
sys.path.insert(0,"/home/miki725/django/django")
答案 3 :(得分:0)
如其他人所示,您可以直接在Python中修改sys.path
,如下所示:
sys.path.insert(0,"/home/miki725/django/django")
但我认为virtualenv是您正在寻找的解决方案。此工具允许您创建隔离的Python环境。