3

かなり単純に聞こえますが、私はこれを数日間試みており、レンガの壁にぶつかっています。以下に、これまでの試行をリストしました。すべての場合、ローカルで実行すると問題なく動作しますが、Azure にデプロイするとすぐに失敗します。VM ではなく Azure Web サイトを使用していることに注意してください (主にコストへの影響のため - VM を使用すると問題が解決する可能性が高いことは承知しています)。これを機能させるために私が見つけた唯一の方法は、プロジェクト内にデプロイされた sqlite データベースを使用することです。

私が試したこと:

1) Azure パートナーの clearDB を使用して MySQL データベースを作成します。「manage.py syncdb」は正常に動作し、「manage.py runserver」を使用してサイトをローカルで実行して使用できます。Azure にデプロイすると、Python-MySqlDb の未解決のインポートで失敗します。

2) SQLAzure データベースを作成し、django-pyodbc-azureを使用して django から接続します。ここでも、syncdb / runserver はローカルで正常に動作し、Azure にデプロイすると dbapi モジュールの未解決のインポートが提供されます。

3) sqllite3 を db エンジンとして使用 - どちらの場合も問題なく動作しますが、冗長性がなく、(一見) データ アクセスが遅くなります。

Azure Websites に Django アプリをデプロイするためのチュートリアルを見てみると、どれもデータベースについて詳しく説明しておらず、Hello World! を作成するところで止まっているだけです。ページ。私が参照する:これこれ

デプロイしようとしている Web サイトは、予約済みインスタンスで実行されています。私は Django 1.4 と 1.5 の両方でこれらすべてを試しました。virtualenv / pip を使用して、デプロイしているサイト パッケージにすべての依存関係が含まれていることを確認しています。これらはすべて、git リポジトリに含まれています。また、必要なファイルがすべてアップロードされていることを確認するために、FTP 経由でアクセスしました。

確かに - これを正しく設定する方法が必要ですか? そうでない場合、Azure Web サイトの機能として Django を使用することはまったく無意味に思えます。

どんな助けでも大歓迎です!

編集

clearDB ソリューションの Azure エラー ログからのトレースバック:

      File "D:\home\site\wwwroot\site-packages\django\utils\importlib.py", line 35, in import_module
    __import__(name)
  File "D:\home\site\wwwroot\site-packages\django\db\backends\mysql\base.py", line 17, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
ErrorCode   Access is denied.
 (0x5)
4

2 に答える 2

0

解決済み - 種類:

純粋な python mysql ドライバーを使用すると動作します (私が推測したように、これは azure の環境制限が原因です)。

将来の参考のために-このプロジェクトは私のためにすべてを整理しました:

https://github.com/jloic/django-mysql-pymysql

注: Azure はサイト パッケージで Python の卵を取得しないようです。

次のステップは、サイトの速度は今のところ問題ないようですが、cython バージョンを使用してみることです。

于 2013-06-26T14:35:38.513 に答える