0

プロジェクトを EC2 インスタンスにデプロイしようとしています。実行するpython manage.py validateと、このエラーが発生しますError: No module named mysql.base

を使用して MySQL-python を既にインストールしていますyum install MySQL-python。Python インタープリターから MySQLdb を正常にインポートできます。

何が悪いのか理解できないようですか?

私はDjango 1.3とPython 2.6とMySQLdb 1.2.3c1を使用しています

更新 OK、MySQL-python ファイルが では/usr/lib**64**/python2.6/site-packages/なく、次のディレクトリに見つかりました/usr/lib/python2.6/site-packages/。そのため、MySQL-pythonファイルを自分のディレクトリで手動でダウンロードしようとしていますが、実行するとこのエラーが発生しますwget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download/usr/lib/python2.6/site-packages/python setup.py build

running build
running build_py
creating build
creating build/lib.linux-x86_64-2.6
copying _mysql_exceptions.py -> build/lib.linux-x86_64-2.6
creating build/lib.linux-x86_64-2.6/MySQLdb
copying MySQLdb/__init__.py -> build/lib.linux-x86_64-2.6/MySQLdb
copying MySQLdb/converters.py -> build/lib.linux-x86_64-2.6/MySQLdb
copying MySQLdb/connections.py -> build/lib.linux-x86_64-2.6/MySQLdb
copying MySQLdb/cursors.py -> build/lib.linux-x86_64-2.6/MySQLdb
copying MySQLdb/release.py -> build/lib.linux-x86_64-2.6/MySQLdb
copying MySQLdb/times.py -> build/lib.linux-x86_64-2.6/MySQLdb
creating build/lib.linux-x86_64-2.6/MySQLdb/constants
copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-2.6/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-2.6/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-2.6/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-2.6/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-2.6/MySQLdb/constants
copying MySQLdb/constants/REFRESH.py -> build/lib.linux-x86_64-2.6/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-2.6/MySQLdb/constants
running build_ext
building '_mysql' extension
creating build/temp.linux-x86_64-2.6
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.6 -c _mysql.c -o build/temp.linux-x86_64-2.6/_mysql.o -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -DUNIV_LINUX
unable to execute gcc: No such file or directory
error: command 'gcc' failed with exit status 1

OSの詳細

Amazon Linux AMI Base 2011.02.1, EBS boot, 64-bit architecture with Amazon EC2 AMI Tools
The Amazon Linux AMI is based on RHEL 5.x and parts of RHEL6

更新 32ビットインスタンスでプロジェクトをやり直しましたが、うまくいきました。

4

3 に答える 3

0

で試してみてください

pip install mysql-python

また

easy_install mysql-python

または、パッケージをダウンロードしてから、pythonスクリプトsetup.pyを使用してインストールします

編集:

Pythonシェルでインポートを実行してみてください

from mysql.base import *

または単に起動します

python manage.py shell

それができる場合は、/ home / djangotest / sgelections / apache/django.wsgiに問題がある可能性があります。

極端な例(笑):

import sys
sys.path = []
于 2011-04-01T10:12:28.273 に答える
0

どのOSを使用していますか?Python 2.6はデフォルトでインストールされましたか?それを自分でインストールしましたか?

私が尋ねている理由は、yum installを使用すると、OSにインストールされているバージョンのpython用のmysql-pythonクライアントがインストールされるためです。CentOS5.5の場合はpython2.4.xでした。

pythonのalt-installオプションを使用してpython2.6を手動でインストールした場合、mysql-pythonは、マシン上のpythonのデフォルトバージョンに最も適切にインストールされますが、python2.6にはインストールされません。

/usr/lib/python2.6/site-packagesにアクセスすると、MySQL_pythonが表示されますか?そうでない場合は、easy_installまたはpipを使用して再度インストールするか、mysql-pythonパッケージを自分でダウンロードしてから手動でインストールする必要があります。または、現在インストールされている場所をPythonパスに追加することもできます。

マシンでMySQL_pythonを検索すると、現在どこにインストールされているかがわかり、何が起こっているのかをよりよく理解できるはずです。

于 2011-04-01T14:00:34.660 に答える
0

ファイルを開きますsettings.py。を にするとENGINE、次のmySQLように変更する必要があります。

DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 
      'mysql', 'sqlite3' or 'oracle'.
  ...
     }
于 2012-09-11T11:30:36.643 に答える