首页 > 解决方案 > 我无法运行测试

问题描述

我正在尝试在我的虚拟环境中运行我的测试,所以当我运行命令时:

python server/manage.py test --settings=skillcorner.settings_test api

我收到以下错误:

> File "server/manage.py", line 8
>      print(f'Running with settings: {os.environ["DJANGO_SETTINGS_MODULE"]}')
>                                            ^
>      SyntaxError: invalid syntax

所以我(在我的虚拟环境中)运行命令(我只是使用 python3 而不是 python: python3 server/manage.py test --settings=skillcorner.settings_test api

我收到以下错误,这是我遇到的错误:

> Running with settings: skillcorner.settings_local
>      Traceback (most recent call last):
>      File "server/manage.py", line 12, in <module>
>     execute_from_command_line(sys.argv)
>      File "/home/yosra/.local/lib/python3.6/site-packages/django/core/management/__init__.py",
> line 381, in execute_from_command_line
>     utility.execute()
>     File "/home/yosra/.local/lib/python3.6/site-packages/django/core/management/__init__.py",
> line 357, in execute
>     django.setup() File "/home/yosra/.local/lib/python3.6/site-packages/django/__init__.py",
> line 24, in setup
>     apps.populate(settings.INSTALLED_APPS)
>     File "/home/yosra/.local/lib/python3.6/site-packages/django/apps/registry.py",
> line 91, in populate
>     app_config = AppConfig.create(entry)
>     File "/home/yosra/.local/lib/python3.6/site-packages/django/apps/config.py",
> line 90, in create
>     module = import_module(entry)
>     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 953, in _find_and_load_unlocked
>     ModuleNotFoundError: No module named 'rest_framework

我不知道如何解决这个问题,我尝试使用 ppip install 安装 rest-framework,但它不起作用!

标签: django

解决方案


我真的不能告诉你如何管理你的虚拟环境,但我很确定问题就在那里。我会假设以下内容:

  • 你得到的第一个错误确实是因为f'{something}'python 3.6 引入的格式(因此导致 python2 中的错误)
  • 你得到的第二个错误是因为你rest_framework在运行 Python3 的环境中丢失了。

我的建议:

  • 删除整个环境文件夹并确保deactivate
  • 在终端运行python3 -m venv venv创建新环境
  • 激活它:source venv/bin/activate
  • requirements.txt从or安装您的依赖pip install django djangorestframework项(以及您项目的任何其他依赖项)
  • 然后你可以做python manage.py whatevercommand./manage.py whatevercommand简称(如果你激活了环境,两者都将运行 python3)

最后一个提示:你可以检查你当前的python版本(在env或jsut任何地方)python --version


推荐阅读