django scarface不在python 2.7中工作
我的操作系统是OSX El Capitan 版本:django scarface不在python 2.7中工作,python,django,python-2.7,Python,Django,Python 2.7,我的操作系统是OSX El Capitan 版本: Python 2.7.10 Django 1.9.2 Django Scarface 3.0 在我安装scarface并将其添加到已安装的应用程序后,它会出现此错误,我无法运行我的应用程序 Unhandled exception in thread started by <function wrapper at 0x1043dbe60> Traceback (most recent call last): File "/Us
- Python 2.7.10
- Django 1.9.2
- Django Scarface 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
由启动的线程中未处理的异常
回溯(最近一次呼叫最后一次):
文件“/Users/mcagataybarin/molotate dev/env/lib/python2.7/site packages/django/utils/autoreload.py”,第226行,在包装器中
fn(*args,**kwargs)
文件“/Users/mcagataybarin/molotate dev/env/lib/python2.7/site packages/django/core/management/commands/runserver.py”,第109行,在内部运行
autoreload.raise\u last\u异常()
文件“/Users/mcagataybarin/molotate dev/env/lib/python2.7/site packages/django/utils/autoreload.py”,第249行,在raise\u last\u异常中
六、重放(*_例外)
文件“/Users/mcagataybarin/molotate dev/env/lib/python2.7/site packages/django/utils/autoreload.py”,第226行,在包装器中
fn(*args,**kwargs)
文件“/Users/mcagataybarin/molotate-dev/env/lib/python2.7/site-packages/django/_-init__.py”,第18行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/Users/mcagataybarin/molotate-dev/env/lib/python2.7/site-packages/django/apps/registry.py”,第108行,填充
app_config.import_models(所有_models)
文件“/Users/mcagataybarin/molotate dev/env/lib/python2.7/site packages/django/apps/config.py”,第202行,在导入模型中
self.models\u module=导入模块(models\u module\u name)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/_init__.py”,第37行,在导入模块中
__导入(名称)
文件“/Users/mcagataybarin/molotate-dev/env/lib/python2.7/site-packages/scarface/models.py”,第7行,在
从scarface.platform\u策略导入获取策略
文件“/Users/mcagataybarin/molotate dev/env/lib/python2.7/site packages/scarface/platform_strategy.py”,第38行
类平台策略(元类=ABCMeta):
^
SyntaxError:无效语法
在我搜索了这个错误之后,我认为原因是我的python版本。
我还是不确定,所以我要问你
有办法解决这个问题吗?如果原因真的是我的Python版本,我如何才能在不损坏代码和所有内容的情况下更新Python版本?在打包说明中,支持Python 2.7
您可以使用Python2.7.10在virtualenv中运行包测试,看看它们是否通过。如果他们没有,那么你的代码就没有问题。如果他们通过了,那么问题可能不在包本身。问题与Python 3.x()中的元类语法更改有关,django scarface是面向3.x的。我将platform_strategy.py(第38行)中的问题(使用Python 2.7.x)更改为:
class PlatformStrategy():
__metaclass__ = ABCMeta
我在github项目中提交了一个请求:我无法解决这个问题。因此,我已经将python版本更新为3.4.3,经过数小时的兼容性问题解决,现在终于可以工作了:)太棒了!你可以将你的问题作为bug提交给Github,如果你认为是这样的话,这个包的其他用户可能不会遇到与你相同的问题。问题发生后,我没有使用scarface,而是使用了boto3包。但是谢谢你的帮助:)