【发布时间】:2020-12-14 12:50:39
【问题描述】:
我正在尝试为我们大学的项目制作一个用于社会计量徽章 (https://github.com/HumanDynamics/openbadge-server) 的 django 服务器。代码(和整个徽章)是由其他人完成的,我自己没有改变任何东西,我只是想让它工作。我能够构建服务器,但在尝试迁移或创建超级用户时,出现语法错误。我一直在尝试自己解决它,但我对 python、django 和 Ubuntu 的了解非常有限,所以我可能遗漏了一些东西。
该错误意味着 /usr/local/lib/python2.7/site-packages/pkgconf/init.py 的第 44 行有错误,但我找不到该文件,因此无法检查它。事实上,整个 site-packages 文件夹是空的,所以我想知道我是否以错误的方式安装了模块?代码是用 python2.7 编写的(我无法更改,因为它不是我的代码)所以我也想知道 python2.7 是 EOL 是否会导致问题?它已经打破了一些部分,主要是如何获取一些依赖关系。 本项目使用的代码和docker文件可以在这里找到:https://github.com/HumanDynamics/openbadge-server
依赖版本应该没问题,Django版本应该兼容Python2.7,其他模块也一样。我尝试过更改版本,但无济于事。下面是需求文本
Django==1.8.4
Fabric==1.10.2
django-grappelli==2.7.1
simplejson==3.8.0
MarkupSafe==0.23
django-pipeline==1.5.4
djangorestframework==3.2.3
djangorestframework-expiring-authtoken==0.1.1
pytz==2015.7
python-dateutil==2.5.3
jsonfield==1.0.3
django-controlcenter===0.2.6
# Configuration
django-environ==0.4.1
# Python-PostgreSQL Database Adapter
psycopg2==2.7.3.2
# Unicode slugification
awesome-slugify==1.6.5
# Import and export using the admin tool
# Using tablib 0.12.1. Newer versions break the import-export add-on
tablib==0.12.1
django-import-export==1.0.0
coverage==4.3.1
django-coverage-plugin==1.3.1
Sphinx==1.5.1
django-extensions==1.7.5
Werkzeug==0.11.15
django-test-plus==1.0.16
factory-boy==2.8.1
django-debug-toolbar==1.6
# improved REPL
ipdb==0.10.1
pytest-django==3.1.2
pytest-sugar==0.8.0
这是错误。根据我有限的知识,我认为它没有从 /usr/local/lib/python2.7/site-packages/ 中找到文件,但它是完全空的,依赖项要么安装在本地,要么安装到 dist-packages .前面有人说是python3的问题,但应该不是python3的问题。如果构建以某种方式安装了错误的东西,是否也可能是 docker 版本问题?
Starting openbadge-server_postgres_1 ... done
Postgres is up - continuing...
Traceback (most recent call last):
File "manage.py", line 23, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 86, in create
module = import_module(entry)
File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/usr/local/lib/python2.7/site-packages/controlcenter/__init__.py", line 1, in <module>
from .dashboards import Dashboard # NOQA
File "/usr/local/lib/python2.7/site-packages/controlcenter/dashboards.py", line 10, in <module>
from . import app_settings
File "/usr/local/lib/python2.7/site-packages/controlcenter/app_settings.py", line 1, in <module>
from pkgconf import Conf
File "/usr/local/lib/python2.7/site-packages/pkgconf/__init__.py", line 44
class Conf(metaclass=ConfMeta):
^
SyntaxError: invalid syntax
我将尽我所能提供信息。
【问题讨论】:
标签: django python-2.7 docker ubuntu