2017-04-21 37 views
0

私は最近virtualenvをインストールし、既存のdjangoプロジェクトをクローンしました。私はpython manage.py runserverを実行すると、私は次のエラーを取得しています:djangoプロジェクトがvirtualenvで動作していません

Traceback (most recent call last): 
    File "manage.py", line 22, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line 
    utility.execute() 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 8, in <module> 
    from django.core.servers.basehttp import AdminMediaHandler, run, WSGIServerException, get_internal_wsgi_application 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 26, in <module> 
    from django.views import static 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/views/static.py", line 95, in <module> 
    template_translatable = ugettext_noop(u"Index of %(directory)s") 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 75, in gettext_noop 
    return _trans.gettext_noop(message) 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 48, in __getattr__ 
    if settings.USE_I18N: 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/utils/functional.py", line 184, in inner 
    self._setup() 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/Users/user/eb-virt/lib/python2.7/site-packages/django/conf/__init__.py", line 95, in __init__ 
    raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e)) 
ImportError: Could not import settings 'application-name.settings' (Is it on sys.path?): No module named application-name.settings 

私はapplication-name/application python manage.py runserverをやってみたときに、私は次のエラーを取得:

python: can't open file 'manage.py': [Errno 2] No such file or directory

をここにアプリケーションディレクトリが

application-name/ 
    manage.py 
    application/ 
     __init__.py 
     urls.py 
     wsgi.py 
     settings.py 
です
+0

'application-name'はあなたのアプリの名前ではないと仮定します(これはあなたの問題なので)。現在は 'application-name/settings.py'を直接含んでいますか? – dhke

+0

が含まれている可能性があります。オリジナルのdjangoアプリケーションの名前は 'application'です。私はそれをvirtualenvにクローンしたとき、私はそれを「アプリケーション名」と名づけました。私はアプリケーション名/アプリケーション/ settings.pyを変更する必要がありますか? – PCR

+0

私はパスを何回も変更しようとしましたが、運がなかった – PCR

答えて

0

まず、application-nameの名前をapplication_nameに変更します。ダッシュとPythonのソースはちょうど問題を招いている、最高の竜を目覚めさせない。

~/work/application_name、つまりvirtualenvの外側に置いたとします。

virtualenvwrapperでvirtualenvを作成せず、setup.pyというファイルがない場合は、それを削除して(virtualenvwrapperをインストールしてください)。

virtualenvwrapperであなたのvirtualenvのを作成します。

mkvirtualenv -a ~/work/application_name -r ~/work/application_name/requirements.txt eb_virt 

-aは、プロジェクトのディレクトリ(このvirtualenvのためのPythonパス上に置く)として既存のディレクトリを追加します。 -rは引数にpip install -rを実行します(私はapplication_name/requirements.txtが存在すると仮定しています)。代わりに-aオプションを使用して(とapplication_name/setup.pyが存在すると仮定すると)、あなたが開発モードでパッケージをインストールできるの

:これらの

cd ~/work 
pip install -e application_name 

いずれにします〜/仕事/ Pythonのモジュール検索パスのAPPLICATION_NAME一部が走っています。設定ファイルのパスは、Pythonのモジュール検索パス上のディレクトリに対して相対的に開始する必要があります。

DJANGO_SETTINGS_MODULE環境変数は、'application.settings'に設定する必要があります。

+0

詳細な応答をありがとう。 virtualenvを削除するにはどうしたらいいですか? – PCR

+0

保存したいファイルが作成されていないと仮定してファイルシステムから削除するだけです(実際に自分自身で何も作成しないでください)。 Virtualenvwrapperには、rmvirtualenvコマンド(およびvirtuakenvsを扱う多くの利便性)があります。 – thebjorn

関連する問題