运行 无法从 ubuntu 导入 mac 上的 django 项目

Can't run django project on mac imported from ubuntu

我的同事在 Ubuntu 上启动了一个 django 项目。我想 运行 OS X Yosemite 上的同一个项目。我们都使用 python3.4 和以下软件包:

我们都 运行 在虚拟环境中进行项目。

当我克隆项目时,我使用了

python manage.py syncdb

我得到了以下结果:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/user/Desktop/projectName/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/Users/user/Desktop/projectName/lib/python3.4/site-packages/django/core/management/__init__.py", line 312, in execute
    django.setup()
  File "/Users/user/Desktop/projectName/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/user/Desktop/projectName/lib/python3.4/site-packages/django/apps/registry.py", line 115, in populate
    app_config.ready()
  File "/Users/user/Desktop/projectName/lib/python3.4/site-packages/django/contrib/admin/apps.py", line 22, in ready
    self.module.autodiscover()
  File "/Users/user/Desktop/projectName/lib/python3.4/site-packages/django/contrib/admin/__init__.py", line 24, in autodiscover
    autodiscover_modules('admin', register_to=site)
  File "/Users/user/Desktop/projectName/lib/python3.4/site-packages/django/utils/module_loading.py", line 74, in autodiscover_modules
    import_module('%s.%s' % (app_config.name, module_to_search))
  File "/Users/user/Desktop/projectName/lib/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1471, in exec_module
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/Users/user/Desktop/projectName/projectName/main/admin.py", line 3, in <module>
    from models import ContactLink, ContactPost, Personnel, WorkCategory, Service, Skill, Work, Customer
ImportError: No module named 'models'

我不知道为什么会发生这种情况,并使用了本网站和其他网站中描述的几种方法。 发生了什么,为什么?

应该 在您的 Ubuntu 安装中也引发了错误。

您需要将 projectName/main/admin.pyline 3 更改为:

from .models import ContactLink, ContactPost, Personnel, \
    WorkCategory, Service, Skill, Work, Customer

注意 from .models 部分添加的点 .。导入应该是相对的(假设所有这些模型都存在于同一个 main 应用程序中)。