手记

Python+Django+Ansible Playbook自动化运维项目实战-迁移django3手记 二

#又装了遍mysqlclient成功了

root@Vbox:/opt/code/imoocc# pip3 install mysqlclient

Collecting mysqlclient

  Using cached https://files.pythonhosted.org/packages/a5/e1/e5f2b231c05dc51d9d87fa5066f90d1405345c54b14b0b11a1c859020f21/mysqlclient-2.0.1.tar.gz

Building wheels for collected packages: mysqlclient

  Running setup.py bdist_wheel for mysqlclient ... done

  Stored in directory: /root/.cache/pip/wheels/9b/7f/b2/37e58c736a79a5754eb4e5559694821c98e640faed495e2501

Successfully built mysqlclient

Installing collected packages: mysqlclient

Successfully installed mysqlclient-2.0.1

root@Vbox:/opt/code/imoocc# history  > /home/john/download/hist_install.txt

root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 377, in execute

    django.setup()

  File "/usr/local/lib/python3.6/dist-packages/django/__init__.py", line 24, in setup

    apps.populate(settings.INSTALLED_APPS)

  File "/usr/local/lib/python3.6/dist-packages/django/apps/registry.py", line 114, in populate

    app_config.import_models()

  File "/usr/local/lib/python3.6/dist-packages/django/apps/config.py", line 211, in import_models

    self.models_module = import_module(models_module_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/usr/local/lib/python3.6/dist-packages/django/contrib/auth/models.py", line 2, in <module>

    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager

  File "/usr/local/lib/python3.6/dist-packages/django/contrib/auth/base_user.py", line 48, in <module>

    class AbstractBaseUser(models.Model):

  File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 122, in __new__

    new_class.add_to_class('_meta', Options(meta, app_label))

  File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 326, in add_to_class

    value.contribute_to_class(cls, name)

  File "/usr/local/lib/python3.6/dist-packages/django/db/models/options.py", line 206, in contribute_to_class

    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())

  File "/usr/local/lib/python3.6/dist-packages/django/db/__init__.py", line 28, in __getattr__

    return getattr(connections[DEFAULT_DB_ALIAS], item)

  File "/usr/local/lib/python3.6/dist-packages/django/db/utils.py", line 214, in __getitem__

    backend = load_backend(db['ENGINE'])

  File "/usr/local/lib/python3.6/dist-packages/django/db/utils.py", line 111, in load_backend

    return import_module('%s.base' % backend_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "/usr/local/lib/python3.6/dist-packages/django/db/backends/mysql/base.py", line 36, in <module>

    raise ImproperlyConfigured('mysqlclient 1.4.0 or newer is required; you have %s.' % Database.__version__)

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.0.

root@Vbox:/opt/code/imoocc# pip3 install django

Requirement already satisfied: django in /usr/local/lib/python3.6/dist-packages

Requirement already satisfied: pytz in /usr/lib/python3/dist-packages (from django)

Requirement already satisfied: asgiref~=3.2.10 in /usr/local/lib/python3.6/dist-packages (from django)

Requirement already satisfied: sqlparse>=0.2.2 in /usr/local/lib/python3.6/dist-packages (from django)


#怀疑django先装的,没读后续的模块 哈哈哈,想多了,删除重装也不行


root@Vbox:/opt/code/imoocc# pip3 uninstall django

Uninstalling Django-3.1:

  /usr/local/bin/__pycache__/django-admin.cpython-36.pyc

  /usr/local/bin/django-admin

  /usr/local/bin/django-admin.py

  /usr/local/lib/python3.6/dist-packages/Django-3.1.dist-info/AUTHORS

   /usr/local/lib/python3.6/dist-packages/django/apps/__pycache__/__init__.cpython-36.pyc

  /usr/local/lib/python3.6/dist-packages/django/apps/__pycache__/config.cpython-36.pyc

  /usr/local/lib/python3.6/dist-packages/django/apps/__pycache__/registry.cpython-36.pyc

中间略

  /usr/local/lib/python3.6/dist-packages/django/views/templates/technical_500.txt

Proceed (y/n)? y

  Successfully uninstalled Django-3.1


#再来遍

root@Vbox:/opt/code/imoocc# pip3 install django

Collecting django

  Using cached https://files.pythonhosted.org/packages/2b/5a/4bd5624546912082a1bd2709d0edc0685f5c7827a278d806a20cf6adea28/Django-3.1-py3-none-any.whl

Requirement already satisfied: sqlparse>=0.2.2 in /usr/local/lib/python3.6/dist-packages (from django)

Requirement already satisfied: asgiref~=3.2.10 in /usr/local/lib/python3.6/dist-packages (from django)

Requirement already satisfied: pytz in /usr/lib/python3/dist-packages (from django)

Installing collected packages: django

Successfully installed django-3.1



root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 377, in execute

    django.setup()

  File "/usr/local/lib/python3.6/dist-packages/django/__init__.py", line 24, in setup

    apps.populate(settings.INSTALLED_APPS)

  File "/usr/local/lib/python3.6/dist-packages/django/apps/registry.py", line 114, in populate

    app_config.import_models()

  File "/usr/local/lib/python3.6/dist-packages/django/apps/config.py", line 211, in import_models

    self.models_module = import_module(models_module_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/usr/local/lib/python3.6/dist-packages/django/contrib/auth/models.py", line 2, in <module>

    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager

  File "/usr/local/lib/python3.6/dist-packages/django/contrib/auth/base_user.py", line 48, in <module>

    class AbstractBaseUser(models.Model):

  File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 122, in __new__

    new_class.add_to_class('_meta', Options(meta, app_label))

  File "/usr/local/lib/python3.6/dist-packages/django/db/models/base.py", line 326, in add_to_class

    value.contribute_to_class(cls, name)

  File "/usr/local/lib/python3.6/dist-packages/django/db/models/options.py", line 206, in contribute_to_class

    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())

  File "/usr/local/lib/python3.6/dist-packages/django/db/__init__.py", line 28, in __getattr__

    return getattr(connections[DEFAULT_DB_ALIAS], item)

  File "/usr/local/lib/python3.6/dist-packages/django/db/utils.py", line 214, in __getitem__

    backend = load_backend(db['ENGINE'])

  File "/usr/local/lib/python3.6/dist-packages/django/db/utils.py", line 111, in load_backend

    return import_module('%s.base' % backend_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "/usr/local/lib/python3.6/dist-packages/django/db/backends/mysql/base.py", line 36, in <module>

    raise ImproperlyConfigured('mysqlclient 1.4.0 or newer is required; you have %s.' % Database.__version__)

django.core.exceptions.ImproperlyConfigured: mysqlclient 1.4.0 or newer is required; you have 0.10.0.


#无奈,修改36行的版本代码吧,改成0.10.0吧

root@Vbox:/opt/code/imoocc# vim /usr/local/lib/python3.6/dist-packages/django/db/backends/mysql/base.py


#继续

root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 377, in execute

    django.setup()

  File "/usr/local/lib/python3.6/dist-packages/django/__init__.py", line 24, in setup

    apps.populate(settings.INSTALLED_APPS)

  File "/usr/local/lib/python3.6/dist-packages/django/apps/registry.py", line 114, in populate

    app_config.import_models()

  File "/usr/local/lib/python3.6/dist-packages/django/apps/config.py", line 211, in import_models

    self.models_module = import_module(models_module_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/apps/detail/models.py", line 29, in <module>

    class NetConnectionInfo(models.Model):

  File "/opt/code/imoocc/apps/detail/models.py", line 42, in NetConnectionInfo

    dev_info = models.ForeignKey('NetWorkInfo')

TypeError: __init__() missing 1 required positional argument: 'on_delete'


#进入修改代码兼容性的环节了,有很多django 1版本,后来django2~3版本的变动 models升级了,外键需要加on_delete=;参数on_delete=models.CASCADE

root@Vbox:/opt/code/imoocc# vim /opt/code/imoocc/apps/detail/models.py




root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 368, in execute

    self.check()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 396, in check

    databases=databases,

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/registry.py", line 70, in run_checks

    new_errors = check(app_configs=app_configs, databases=databases)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 13, in check_url_config

    return check_resolver(resolver)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 23, in check_resolver

    return check_method()

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 408, in check

    for pattern in self.url_patterns:

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 589, in url_patterns

    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 582, in urlconf_module

    return import_module(self.urlconf_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/admin/urls.py", line 18, in <module>

    import xadmin

  File "/opt/code/imoocc/extra_apps/xadmin/__init__.py", line 4, in <module>

    from xadmin.sites import AdminSite, site

  File "/opt/code/imoocc/extra_apps/xadmin/sites.py", line 3, in <module>

    from future.utils import iteritems

ModuleNotFoundError: No module named 'future'


#安装future,网络不好试了10几次在线都没成功,后来单独下载安装的

root@Vbox:/opt/code/imoocc# pip3 install future

Collecting future

  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', ConnectionResetError(104, '连接被对方重设'))': /packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz

  Downloading https://files.pythonhosted.org/packages/45/0b/38b06fd9b92dc2b68d58b75f900e97884c45bedd2ff83203d933cf5851c9/future-0.18.2.tar.gz (829kB)

    13% |████▍                           | 112kB 1.6kB/s eta 0:07:36Exception:



root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 368, in execute

    self.check()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 396, in check

    databases=databases,

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/registry.py", line 70, in run_checks

    new_errors = check(app_configs=app_configs, databases=databases)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 13, in check_url_config

    return check_resolver(resolver)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 23, in check_resolver

    return check_method()

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 408, in check

    for pattern in self.url_patterns:

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 589, in url_patterns

    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 582, in urlconf_module

    return import_module(self.urlconf_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/admin/urls.py", line 18, in <module>

    import xadmin

  File "/opt/code/imoocc/extra_apps/xadmin/__init__.py", line 4, in <module>

    from xadmin.sites import AdminSite, site

  File "/opt/code/imoocc/extra_apps/xadmin/sites.py", line 7, in <module>

    from django.utils import six

ImportError: cannot import name 'six'


#上述问题是django3删除了six,从系统中给复制一份到django下

root@Vbox:/opt/code/imoocc# pip3  install six

Requirement already satisfied: six in /usr/lib/python3/dist-packages


#查看django位置

root@Vbox:/usr/lib/python3/dist-packages# pip3 show django

Name: Django

Version: 3.1

Summary: A high-level Python Web framework that encourages rapid development and clean, pragmatic design.

Home-page: https://www.djangoproject.com/

Author: Django Software Foundation

Author-email: foundation@djangoproject.com

License: BSD-3-Clause

Location: /usr/local/lib/python3.6/dist-packages

Requires: pytz, asgiref, sqlparse

#复制six


root@Vbox:/usr/lib/python3/dist-packages# cp /usr/lib/python3/dist-packages/six.py  //usr/local/lib/python3.6/dist-packages/django/utils/



root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 368, in execute

    self.check()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 396, in check

    databases=databases,

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/registry.py", line 70, in run_checks

    new_errors = check(app_configs=app_configs, databases=databases)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 13, in check_url_config

    return check_resolver(resolver)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 23, in check_resolver

    return check_method()

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 408, in check

    for pattern in self.url_patterns:

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 589, in url_patterns

    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 582, in urlconf_module

    return import_module(self.urlconf_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/admin/urls.py", line 22, in <module>

    url(r'^user/', include('users.urls', namespace='users')),

  File "/usr/local/lib/python3.6/dist-packages/django/urls/conf.py", line 39, in include

    'Specifying a namespace in include() without providing an app_name '

django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.


#django 3又有的一个变动,uurls里,应用名用元组了,后面加上个名字include(('xxx.urls','xxx'),namespace='xxx')

root@Vbox:/opt/code/imoocc# vim /opt/code/imoocc/admin/urls.py


#再试

root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 368, in execute

    self.check()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 396, in check

    databases=databases,

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/registry.py", line 70, in run_checks

    new_errors = check(app_configs=app_configs, databases=databases)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 13, in check_url_config

    return check_resolver(resolver)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 23, in check_resolver

    return check_method()

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 408, in check

    for pattern in self.url_patterns:

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 589, in url_patterns

    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 582, in urlconf_module

    return import_module(self.urlconf_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/admin/urls.py", line 26, in <module>

    url(r'^ansible/', include(('taskdo.urls','taskdo'), namespace='taskdo')),

  File "/usr/local/lib/python3.6/dist-packages/django/urls/conf.py", line 34, in include

    urlconf_module = import_module(urlconf_module)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/taskdo/urls.py", line 3, in <module>

    from taskdo.views import *

  File "/opt/code/imoocc/taskdo/views.py", line 12, in <module>

    from django.shortcuts import render_to_response

ImportError: cannot import name 'render_to_response'


#修改render,把render_to_response屏蔽,django3中被删除了

root@Vbox:/opt/code/imoocc# vim /opt/code/imoocc/taskdo/views.py



root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 368, in execute

    self.check()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 396, in check

    databases=databases,

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/registry.py", line 70, in run_checks

    new_errors = check(app_configs=app_configs, databases=databases)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 13, in check_url_config

    return check_resolver(resolver)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 23, in check_resolver

    return check_method()

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 408, in check

    for pattern in self.url_patterns:

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 589, in url_patterns

    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 582, in urlconf_module

    return import_module(self.urlconf_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/admin/urls.py", line 26, in <module>

    url(r'^ansible/', include(('taskdo.urls','taskdo'), namespace='taskdo')),

  File "/usr/local/lib/python3.6/dist-packages/django/urls/conf.py", line 34, in include

    urlconf_module = import_module(urlconf_module)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/taskdo/urls.py", line 3, in <module>

    from taskdo.views import *

  File "/opt/code/imoocc/taskdo/views.py", line 16, in <module>

    from taskdo.utils.ansible_api import ANSRunner

  File "/opt/code/imoocc/taskdo/utils/ansible_api.py", line 13, in <module>

    from ansible import constants

ModuleNotFoundError: No module named 'ansible'


#安装ansible


root@Vbox:/opt/code/imoocc# pip3 install ansible

Collecting ansible

  Downloading https://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl (125kB)

    100% |████████████████████████████████| 133kB 44kB/s 

Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib/python3/dist-packages (from jinja2->ansible)

Building wheels for collected packages: ansible

  Running setup.py bdist_wheel for ansible ... done

  Stored in directory: /root/.cache/pip/wheels/09/bf/d3/f9c2979426ac2b1e74c785cfcc7b3a9885ef4fde804df6b7f1

Successfully built ansible

Installing collected packages: jinja2, ansible

Successfully installed ansible-2.9.12 jinja2-2.11.2



root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 368, in execute

    self.check()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 396, in check

    databases=databases,

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/registry.py", line 70, in run_checks

    new_errors = check(app_configs=app_configs, databases=databases)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 13, in check_url_config

    return check_resolver(resolver)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 23, in check_resolver

    return check_method()

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 408, in check

    for pattern in self.url_patterns:

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 589, in url_patterns

    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 582, in urlconf_module

    return import_module(self.urlconf_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/admin/urls.py", line 26, in <module>

    url(r'^ansible/', include(('taskdo.urls','taskdo'), namespace='taskdo')),

  File "/usr/local/lib/python3.6/dist-packages/django/urls/conf.py", line 34, in include

    urlconf_module = import_module(urlconf_module)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/taskdo/urls.py", line 3, in <module>

    from taskdo.views import *

  File "/opt/code/imoocc/taskdo/views.py", line 19, in <module>

    from taskdo.utils.base.MgCon import *

  File "/opt/code/imoocc/taskdo/utils/base/MgCon.py", line 2, in <module>

    import pymongo

ModuleNotFoundError: No module named 'pymongo'


#装pymongo,前面装的不对

root@Vbox:/opt/code/imoocc# pip3 install pymongo

Collecting pymongo

  Downloading https://files.pythonhosted.org/packages/d1/89/3bfdfb457f27f316559ea8dbb5a3eaeea6b803870c5ae07c80fbe9c56e08/pymongo-3.11.0-cp36-cp36m-manylinux1_x86_64.whl (491kB)

    100% |████████████████████████████████| 501kB 31kB/s 

Installing collected packages: pymongo

Successfully installed pymongo-3.11.0



root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Traceback (most recent call last):

  File "manage.py", line 15, in <module>

    execute_from_command_line(sys.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 401, in execute_from_command_line

    utility.execute()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/__init__.py", line 395, in execute

    self.fetch_command(subcommand).run_from_argv(self.argv)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 330, in run_from_argv

    self.execute(*args, **cmd_options)

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 368, in execute

    self.check()

  File "/usr/local/lib/python3.6/dist-packages/django/core/management/base.py", line 396, in check

    databases=databases,

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/registry.py", line 70, in run_checks

    new_errors = check(app_configs=app_configs, databases=databases)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 13, in check_url_config

    return check_resolver(resolver)

  File "/usr/local/lib/python3.6/dist-packages/django/core/checks/urls.py", line 23, in check_resolver

    return check_method()

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 408, in check

    for pattern in self.url_patterns:

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 589, in url_patterns

    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)

  File "/usr/local/lib/python3.6/dist-packages/django/utils/functional.py", line 48, in __get__

    res = instance.__dict__[self.name] = self.func(instance)

  File "/usr/local/lib/python3.6/dist-packages/django/urls/resolvers.py", line 582, in urlconf_module

    return import_module(self.urlconf_name)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/admin/urls.py", line 26, in <module>

    url(r'^ansible/', include(('taskdo.urls','taskdo'), namespace='taskdo')),

  File "/usr/local/lib/python3.6/dist-packages/django/urls/conf.py", line 34, in include

    urlconf_module = import_module(urlconf_module)

  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 994, in _gcd_import

  File "<frozen importlib._bootstrap>", line 971, in _find_and_load

  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 678, in exec_module

  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed

  File "/opt/code/imoocc/taskdo/urls.py", line 3, in <module>

    from taskdo.views import *

  File "/opt/code/imoocc/taskdo/views.py", line 20, in <module>

    from taskdo.utils.base.RedisCon import *

  File "/opt/code/imoocc/taskdo/utils/base/RedisCon.py", line 3, in <module>

    import redis

ModuleNotFoundError: No module named 'redis'


#装redis

root@Vbox:/opt/code/imoocc# pip3 install redis

Collecting redis

  Downloading https://files.pythonhosted.org/packages/a7/7c/24fb0511df653cf1a5d938d8f5d19802a88cef255706fdda242ff97e91b7/redis-3.5.3-py2.py3-none-any.whl (72kB)

    100% |████████████████████████████████| 81kB 193kB/s 

Installing collected packages: redis

Successfully installed redis-3.5.3

root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

SystemCheckError: System check identified some issues:


ERRORS:

?: (admin.E408) 'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEWARE in order to use the admin application.

?: (admin.E409) 'django.contrib.messages.middleware.MessageMiddleware' must be in MIDDLEWARE in order to use the admin application.

?: (admin.E410) 'django.contrib.sessions.middleware.SessionMiddleware' must be in MIDDLEWARE in order to use the admin application.


#中间件模块都不对了,重新编写个


#在以往django项目中settings的中间件默认书写格式为:

#

#

#MIDDLEWARE_CLASSES = (

#    'django.contrib.sessions.middleware.SessionMiddleware',

#    'django.middleware.common.CommonMiddleware',

#    'django.middleware.csrf.CsrfViewMiddleware',

#    'django.contrib.auth.middleware.AuthenticationMiddleware',

#    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',

#    'django.contrib.messages.middleware.MessageMiddleware',

#    'django.middleware.clickjacking.XFrameOptionsMiddleware',

#    'django.middleware.security.SecurityMiddleware',

#)

#

#

#而使用新版Django创建一个新的项目, 中间件书写格式为↓

#

#

#MIDDLEWARE = [

#    'django.middleware.security.SecurityMiddleware',

#    'django.contrib.sessions.middleware.SessionMiddleware',

#    'django.middleware.common.CommonMiddleware',

#    'django.middleware.csrf.CsrfViewMiddleware',

#    'django.contrib.auth.middleware.AuthenticationMiddleware',

#    'django.contrib.messages.middleware.MessageMiddleware',

#    'django.middleware.clickjacking.XFrameOptionsMiddleware',

#]

#




root@Vbox:/opt/code/imoocc# cd admin/


root@Vbox:/opt/code/imoocc/admin/settings# vim settings.py

root@Vbox:/opt/code/imoocc/admin/settings# cd ../../


#终于不报错了,但是系统自动修改了个datatime

root@Vbox:/opt/code/imoocc# python3 manage.py makemigrations

Migrations for 'detail':

  apps/detail/migrations/0002_auto_20200820_2217.py

    - Alter field datatime on statisticsrecord


0人推荐
随时随地看视频
慕课网APP