2016-02-03 8 views
6

私はジャンゴからPythonスクリプトを実行する方法については、この記事を見た:http://www.djangotutsme.com/how-to-run-python-script-from-django/
私は例を試みたが、python manage.py runscript myscriptを実行しているときに、次のエラーを取得します。 私はPython 2.7、Django 1.10、django extensions 1.6.1をインストールしています。は、スクリプトを実行するときにPythonがエラー属性:タイプのオブジェクトのBaseCommand 'は属性「option_list」を持っていない

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/lib/python2.7/site-packages/Django-1.10.dev20151201151517-py2.7.egg/django/core/management/__init__.py", line 349, in execute_from_command_line 
    utility.execute() 
    File "/usr/lib/python2.7/site-packages/Django-1.10.dev20151201151517-py2.7.egg/django/core/management/__init__.py", line 341, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/lib/python2.7/site-packages/Django-1.10.dev20151201151517-py2.7.egg/django/core/management/__init__.py", line 193, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/usr/lib/python2.7/site-packages/Django-1.10.dev20151201151517-py2.7.egg/django/core/management/__init__.py", line 40, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/usr/lib/python2.7/site-packages/django_extensions-1.6.1-py2.7.egg/django_extensions/management/commands/runscript.py", line 6, in <module> 
    from django_extensions.management.email_notifications import \ 
    File "/usr/lib/python2.7/site-packages/django_extensions-1.6.1-py2.7.egg/django_extensions/management/email_notifications.py", line 10, in <module> 
    class EmailNotificationCommand(BaseCommand): 
    File "/usr/lib/python2.7/site-packages/django_extensions-1.6.1-py2.7.egg/django_extensions/management/email_notifications.py", line 49, in EmailNotificationCommand 
    **option_list = BaseCommand.option_list + (
AttributeError: type object 'BaseCommand' has no attribute 'option_list'** 

問題は何ですか?これはジャンゴのバグですか?

+0

myscriptの内容を投稿できますか? – abidibo

答えて

9

BaseCommand.option_listは、Django 1.8では廃止され、Django 1.10では削除されました。 Django-extensions has been updatedのように見えますが、それ以降は新しいリリースはありません。

masterブランチからdjango-extensionsをインストールすることもできますが、現在の1.9.2のDjangoの最新リリースを使用することをお勧めします。 Django 1.10はまだリリースされておらず、まだ開発中です。

+0

ありがとうございました。それは理にかなっている! 1.9.2をインストールするには、1.10をアンインストールする必要がありますか、Django-1.10.dev20151201151517-py2.7.egg /フォルダを削除するだけですか? –

+1

pipを使用してDjangoをインストールした場合、 'pip install django == 1.9.2'を実行すると古いバージョンがアンインストールされます。私は通常、卵のディレクトリを削除しないようにしようとします。 – Alasdair

+0

私はtarballs用のPythonインストールスクリプトを使用しています。私の同僚が書いたものです。これはすごくうまくいきます。私は最初にdjango、django-extensions、およびsixをインストールしたときに使用しました。問題は、私がプロキシ環境の設定がアクセスする仮想マシンを使用していることです。 pypi.python.orgは動作しませんので、pipをインストールしようとするとちょっとb --- h!とにかく、スクリプトを実行し、Pythonでdjangoへのパスをチェックした後、バージョン1.9.2と思われます。認識される。 –

関連する問題