django - 我无法运行测试
问题描述
我正在尝试在我的虚拟环境中运行我的测试,所以当我运行命令时:
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,但它不起作用!
解决方案
我真的不能告诉你如何管理你的虚拟环境,但我很确定问题就在那里。我会假设以下内容:
- 你得到的第一个错误确实是因为
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
推荐阅读
- javascript - 如何在 Nuxt.js 商店中使用 localStorage
- r - facet_grid 并按 y 值重新排序列
- javascript - 如何从 css 变量中获取值并使用 javascript 多次(循环)自动更改它
- javascript - 使用 jQuery cookie 在下拉选择框中创建一个要选择的值
- javascript - 如何从对象文字中获取计数的属性数量?
- reactjs - 在 useEffect 中无法获取上下文的最新值
- javascript - Django-ckeditor 不使用脆表单保存编辑
- java - 为 DNS 查找指定本地/绑定地址
- java - 使用 getResourceAsStream() 访问资源
- java - 使用FlatFileItemReader读取csv文件,遇到空列抛出异常