yos*_*ssi 21 python django centos pythonpath
我正在使用centos linux.
我有django的python 2.6,现在我升级到python 2.7.
Python 2.6位于/usr/lib/python2.6中.
Python 2.7位于/usr/local/lib/python2.7中.
它们都有site-packages目录,它们都包含django 1.2.
如果我运行python我得到2.7版本.
我的问题是如果尝试导入django我得到
ImportError:没有名为django的模块
我不确定我的PYTHONPATH在哪里定义,如果这是我需要改变的.任何人 ?
我最终建立了2.6 site-packages目录的符号链接.
小智 23
我有同样的错误,这解决了我的问题
python -m pip install django
:)完成!
jco*_*ado 15
要检查路径,可以使用以下代码:
import sys
print(sys.path)
Run Code Online (Sandbox Code Playgroud)
如果您已经知道django的安装位置,那么应该很容易测试所需的目录是否在您的路径中directory in sys.path
.
关于PYTHONPATH
定义的位置,请注意它是一个环境变量,因此您可以使用以下命令检查其值(如果已定义):echo $PYTHONPATH
Ada*_*ris 14
在linux下,您可以在.profile或.bashrc中设置PYTHONPATH环境变量.您可以直接从终端编辑它,方法是切换到您的主目录(cd~),然后编辑文件(nano .bashrc),或者用gtkedit或vim或其他任何东西打开文件,然后添加:
PYTHONPATH=/usr/local/lib/python2.7/site-packages:/another/path/etc
Run Code Online (Sandbox Code Playgroud)
如果要在编辑配置文件之前对其进行测试,可以将其从终端导出为:
export PYTHONPATH=/local/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
我假设你是从命令行直接运行的.如果您在apache中将其作为wsgi模块运行,则可以从wsgi文件将其添加到syspath中:
import sys
sys.path.append('/usr/local/lib/python2.7/site-packages')
Run Code Online (Sandbox Code Playgroud)
Dim*_*zis 11
尝试
pip freeze
Run Code Online (Sandbox Code Playgroud)
此命令显示系统中安装了哪些软件包,然后以root权限运行
pip install django
Run Code Online (Sandbox Code Playgroud)
然后使用命令创建一个新项目
django-admin.py startproject mysite
Run Code Online (Sandbox Code Playgroud)
然后开始你的项目
cd path/to/mysite
./manage.py runserver
Run Code Online (Sandbox Code Playgroud)
在文件wsgi.py中添加此行
import os
import sys
DJANGO_PATH = os.path.join(os.path.abspath(os.path.dirname(__file__)), '..')
sys.path.append(DJANGO_PATH)
Run Code Online (Sandbox Code Playgroud)
尝试打印sys.path
以查看路径中的内容.Django需要在列出的一个目录中.Windows上的示例:
>>> import sys
>>> for p in sys.path: print p
C:\Python27\Lib\idlelib
C:\Windows\system32\python27.zip
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
>>>
Run Code Online (Sandbox Code Playgroud)