0

更新:これはWindowsマシン上にあることに注意してください

virtualenvとインストールのpythonpathの違いについて、スタックに多数の投稿があります。ほとんどの場合、これらのユーザーは、pipインストールを実行する前にenvをアクティブ化することを忘れています。

これは私の問題ではありません

代わりに、私の問題は、manage.pyrunserverを実行するときのdjangoにあります。virtualenvを作成する前に開始されたdjangoプロジェクトを移行しようとしています。この一環として、アクティブ化されたvirtualenv内に新しいdjangoプロジェクトを作成しようとし、古いファイルを移行しました。

(VENV) python django-admin.py startproject XYZ

*注:私はすでにvirtualenvをアクティブにして、「python」でコマンドを実行しました。これは、virutalenv内のpythonインストールを指します。

次に、古いファイルを移行して実行します。

python manage.py runserver

この時点で、DLLのロードは失敗します。

Error: DLL load failed: The specified module could not be found.

通常のmanage.pyrunserverの実行は機能しますが、これはグローバルなpythonインストールを参照しているため、私が望んでいることではありません。

4

1 に答える 1

0

Windows for Pythonのバイナリインストーラーは仮想環境と互換性がなく、デフォルトのシステムPython(レジストリにリストされている)にのみインストールされます。

したがって、データベースドライバーなどのパッケージやPythonImagingLibraryなどのパッケージは仮想環境と互換性がありません。

私は3つのオプションを知っています:

  1. コンパイラ環境をセットアップし、モジュールを手動でビルドします(非推奨)。
  2. システムPythonを使用します(より簡単で、Python用のビルド済みのバイナリWindowsパッケージで動作します)。要件を手動で管理します。
  3. 必要なファイルを仮想環境に手動でコピーします。

3つのうち最も簡単なものとして#2をお勧めします。

setuptools(easy_installまたはpip)を試して使用することはできますが、開発環境をセットアップしない限り、パッケージは正常にコンパイルおよびインストールされません(DLLはビルドされません)。あなたが経験したようなエラーにつながります。

herokuの場合; 要件ファイルを手動で管理し、psycopg2を追加して、herokuがアプリケーションを正しくデプロイするようにすることができます。

于 2012-08-07T03:13:03.413 に答える