python - 导入错误: How to import django-nose package?

标签 python django

在虚拟环境中安装django-nose:

(venv) user@~/../src$  pip install django-nose
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: django-nose in /home/user/../venv/lib/python2.7/site-packages (1.4.6)
Requirement already satisfied: nose>=1.2.1 in /home/user/../venv/lib/python2.7/site-packages (from django-nose) (1.3.7)
(venv) user@~/../src$ 
<小时/>

test.py 中的 Django 设置有 django-nose 包,称为 INSTALLED_APPS,如下所示:

from base import *
import os


# Installed apps
INSTALLED_APPS += ('django-nose', )
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
TEST_OUTPUT_DIR = os.environ.get('TEST_OUTPUT_DIR', '.')
NOSE_ARGS = [
    '--verbosity=2',
    '--nologcapture',
    '--with-coverage',
    '--cover-package=todo',
    '--with-spec',
    '--spec-color',
    '--with-xunit',
    '--xunit-file=%s/unittests.xml' % TEST_OUTPUT_DIR,
    '--cover-xml',
    '--cover-xml-file=%s/coverage.xml' % TEST_OUTPUT_DIR,  
]

# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
DATABASES = {
    'default':{
        'ENGINE': 'django.db.backends.mysql',
        'NAME': os.environ.get('MYSQL_DATABASE', 'xxxxx'),
        'USER': os.environ.get('MYSQL_USER', 'xxx'),
        'PASSWORD': os.environ.get('MYSQL_PASSWORD', 'xxx'),
        'HOST': os.environ.get('MYSQL_HOST', 'localhost'),
        'PORT': os.environ.get('MYSQL_PORT', '3306')
    }
}
<小时/>

但是 django-nose 包没有被导入,基于以下错误:

(venv) user@~/../src$ ls
db.sqlite3  manage.py  todo  todobackend
(venv) user@~/../src$
(venv) user@~/../src$
(venv) user@~/../src$ python manage.py test --settings=todobackend.settings.test
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/user/../venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "/home/user/../venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 324, in execute
    django.setup()
  File "/home/user/../venv/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/user/../venv/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/home/user/../venv/local/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
ImportError: No module named django-nose
<小时/>

为什么 django-nose 软件包无法被识别为已安装?

最佳答案

如TEST_RUNNER设置所示,Python包是django_nose;这就是您需要在 INSTALLED_APPS 中使用的内容,而不是 django-nose 。 (包名称必须是有效的 Python 标识符,因此它们不能包含 -。)

关于python - 导入错误: How to import django-nose package?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58329378/

相关文章:

django-allauth 注册后未发送确认电子邮件

javascript - Django:防止重复对象创建的策略

python - matplotlib 和 pyqt4 : update plot in one thread, 画在另一个

python - 将 Pandas 数据框列值合并到新列中

javascript - 如何向widget js asset传递参数?

python - 测试时 Django Fixtures 加载顺序不正确吗?

django - 在 Django 中的特定时间触发通知

python - psycopg2、Redshift 和 unittest 的并发问题

python - 如何在 Django 模板中使用变量作为索引?

python - Jupyter笔记本上的cv2导入错误