django1.11 报错:import_module __import__(name) ImportError: Import by filename is not supported.

在CentOS6和Python 2.7.14环境下使用Django 1.11时,运行`python manage.py migrate`命令出现错误:`ImportModule: __import__(name) ImportError: Import by filename is not supported.`。解决方案是将settings.py中的应用引入方式从文件名改为'app名称',例如改为'polls',这是因为Django 1.11主要为Python 3.4设计,与Python 2.7可能存在兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:centos6 python2.7.14 django1.11
输入命令:
[root@bigdata mysite]#python manage.py migrate

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, polls, sessions
Running migrations:
  Applying polls.0001_initial... OK
[root@bigdata mysite]# python manage.py migrate
Traceback (most recent call last):
  File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute
    django.setup()
  File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 27, 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 127, in create
    import_module(entry)
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: Import by filename is not supported.

我的setting.py中,添加的app路径是这样的

INSTALLED_APPS = [
     'polls.apps/PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #'polls'
]

第一行注释掉,改成‘polls’(我的app名称),就可以运行了

INSTALLED_APPS = [
    # 'polls.apps/PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls'
]

问题原因:因django1.11适配的是python 3.4,python2.7可能会适配不佳,所以要找回旧版本的写法,我这样的改法参照https://code.ziqiangxuetang.com/django/django-models.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值