Whe*_*low 19 python mysql django
从源代码安装Django(python setup.py install等),从源代码安装MySQLdb(python setup.py build,python setup.py install).使用安装在操作系统(CentOS 5.5)上的Python 2.4.启动服务器后收到以下错误消息:
Error loading MySQLdb module: No module named MySQLdb
调试信息提供的python路径包括
'/usr/lib/python2.4/site-packages'
然而,如果我ls是那个目录,我可以清楚地看到
MySQL_python-1.2.3-py2.4-linux-i686.egg
使用python交互式shell,我可以输入import MySQLdb并且不会产生任何错误.这让我相信它是一个Django路径问题,但我没有丝毫线索从哪里开始看,因为我是Django和python的新手.
编辑:更具体一点,一切都是以root身份运行.我还没有在机器上设置任何用户,因此除了root之外不存在任何用户.
EDITx2:更具体地说,Web服务器是Cherokee,并使用uWSGI进行部署.全部从源头安装.
vdb*_*oor 33
你考虑过从python包安装MySQLdb吗?我也建议这样做pip而不是easy_install.
首先你可以替换easy_install为pip:
easy_install pip
pip install pip --upgrade
Run Code Online (Sandbox Code Playgroud)
然后通过PIP安装Django:
pip install MySQL-python
pip install Django
Run Code Online (Sandbox Code Playgroud)
通常easy_install已经安装(setuptools的一部分),而pip要好得多.它也提供了卸载选项,并使用平面安装目录而不是EGG文件魔术.这可能也解决了一些不兼容问题.
Hon*_*rny 17
你尝试构建依赖项了吗?这在Ubuntu上为我解决了这个问题:
sudo apt-get build-dep python-mysqldb
pip install MySQLdb-python
Run Code Online (Sandbox Code Playgroud)
什么对我有用(Linux Mint):
sudo apt-get install libmysqlclient-dev (this was the key for me)
pip install mysql-python
pip install django
Run Code Online (Sandbox Code Playgroud)
您可以通过从 Django 项目的目录库调用“python manage.py shell”来找出 Python 在哪里寻找它的库。然后做:
import sys
import pprint
pprint.pprint(sys.path)
Run Code Online (Sandbox Code Playgroud)
您将看到 python 从哪里提取库。还尝试执行“导入 mysql”以查看是否会排除错误。
最后,WSGI 服务的路径(可能)是使用 Cherokee 中的 uWSGI 设置进行配置的 - 抱歉,我不知道该生物的详细信息,无法就如何确定在何处/如何加载库路径提出建议。
| 归档时间: |
|
| 查看次数: |
38254 次 |
| 最近记录: |