GithubアカウントからDjango Projectを複製し、有名なコマンドsource nameofenv/bin/activate
そして、実行するとpython manage.py runserver
次のエラーが表示されます:
ImportError:Djangoをインポートできませんでした。 PYTHONPATH環境変数にインストールされており、使用可能ですか?仮想環境をアクティブにするのを忘れましたか?
私は必要なすべての依存関係がvirtualenv内に存在する可能性があると考えていました。
うーん、ダメ。デフォルトでは、新しく作成されたvirtualenvは空になります。つまり、サードパーティのライブラリはありません。 (オプションで、virtualenvがシステム全体にインストールされたライブラリにアクセスすることを許可できますが、それは別の話です。)
Virtualenvが作成されたら、必要な依存関係をインストールする必要があります。
(virtualenvは必要な依存関係をどのように知ることができますか?)
手順は、virtualenvをインストールし、アクティブにしてから、プロジェクトに必要なライブラリをインストールすることです(場合によってはDjangoおよびおそらくその他)。
プロジェクトにrequirements.txtがある場合、次のコマンドを使用して必要なすべての依存関係をインストールできます。
pip install -r requirements.txt
プロジェクトにsetup.pyがある場合は、実行することもできます
pip install -e path/to/your/project/clone/.
プロジェクトをvirtualenvにインストールします。これにより、依存関係がインストールされます。
もちろん、依存関係がDjangoのみである場合は、次のように入力できます。
pip install Django
ubuntuバージョン
#install python pip
Sudo apt-get install python-pip
#install python virtualenv
Sudo apt-get install python-virtualenv
# create virtual env
virtualenv myenv
#activate the virtualenv
. myenv/bin/activate
#install Django inside virtualenv
pip install Django
#create a new Django project
Django-admin.py startproject mysite
#enter to the folder of the new Django project
cd mysite
#run the Django project
python manage.py runserver
マシンに複数のpython
がある場合(たとえば、python2.7
、python3.4
、python3.6
)、python
のバージョンを判別するためにインポートされます。 pip
を参照するバージョンを実際に参照します。
次のコマンドを実行するときにlet's encrypt
をインストールした後、同じ問題が私の邪魔になりました。
(python3 manage.py runserver 0:8000 &)
python
バージョンを調べたところ、python3
、python3.4
、python3.6
、python3.4m
がすべて使用可能であることがわかりました。
python3
をpython3.6
に変更して、問題を解決しました。
(python3.6 manage.py runserver 0:8000 &)
そのため、長期間問題がなく、突然クラッシュした場合、これはおそらくバージョン不一致の問題です。
他のPCからも仮想環境をアップロードすると思います。そして、あなたはそれを有効にすることだけがうまくいくことを願っています、bzz。
@Alainによると、プロジェクトの依存関係を含むrequirements.txt
ファイルを持つことをお勧めするため、virtualenvファイルをgitリポジトリにアップロードすることはお勧めしません。 pip freeze > requirements.txt
(環境がアクティブ化されるとき)を使用して、プロジェクト要件ファイルを生成できます。
そうすることで、別のコンピューターからリポジトリーのクローンを作成するときに、次のコマンドを発行して新しいvirtualenvを作成する必要があります。
virtualenv nameofenv
それをアクティブにします:
source nameofenv/bin/activate
最後に、要件ファイルを使用して、プロジェクトの要件をインストールします:
pip install -r requirements.txt
私はDjango 2 via pip3 install Django
、しかし私はpython manage.py runserver
の代わりに python3 manage.py runserver
。 Django 2は、python 3+。