2016-03-19 143 views
1

我的操作系統是OSX El Capitan。django-scarface不能在Python中工作2.7

版本:

  • 的Python 2.7.10
  • 的Django 1.9.2
  • Django的刀疤臉3.0

我安裝疤面煞星,並把它添加到安裝的應用程序後,它給這個錯誤,我不能運行我的應用程序。

Unhandled exception in thread started by <function wrapper at 0x1043dbe60> 
Traceback (most recent call last): 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run 
    autoreload.raise_last_exception() 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/django/utils/autoreload.py", line 249, in raise_last_exception 
    six.reraise(*_exception) 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/django/utils/autoreload.py", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/django/__init__.py", line 18, in setup 
    apps.populate(settings.INSTALLED_APPS) 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate 
    app_config.import_models(all_models) 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models 
    self.models_module = import_module(models_module_name) 
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/scarface/models.py", line 7, in <module> 
    from scarface.platform_strategy import get_strategies 
    File "/Users/mcagataybarin/molocate-dev/env/lib/python2.7/site-packages/scarface/platform_strategy.py", line 38 
    class PlatformStrategy(metaclass=ABCMeta): 
            ^
SyntaxError: invalid syntax 

當我搜索這個錯誤後,我認爲這是我的Python版本。 但我不確定,所以我在問你。

有什麼辦法解決這個問題嗎?如果原因真的是我的Python版本,我如何更新我的Python版本而不損壞我的代碼和一切?

回答

1

在包裝說明Python 2.7支持https://github.com/dreipol/django-scarface/blob/master/setup.py#L30

您可以在Python 2.7.10的virtualenv中運行包測試https://github.com/dreipol/django-scarface/blob/master/scarface/tests.py以查看它們是否通過。如果他們沒有,那麼你的代碼沒有問題。如果他們確實通過了,那麼問題可能不在包中。

+0

我解決不了的問題:我在github上的項目提交pull請求

class PlatformStrategy(): __metaclass__ = ABCMeta 

。所以我已經將我的python版本更新到3.4.3,並且在解決兼容性問題幾個小時後,現在它終於起作用了:) –

+0

太棒了!如果你看到它,你可以將你的問題提交給Github作爲一個錯誤,這個包的其他用戶可能不會遇到與你一樣的問題。 –