【发布时间】:2020-01-28 19:03:44
【问题描述】:
PyCharm 完美运行项目,从终端启动时,通过命令:py manage.py runserver 8000
但是当我尝试通过绿色按钮(运行)启动同一个项目时,我得到了这个错误:
E:\work\wowzers-webapp\venv\Scripts\python.exe E:/work/wowzers-webapp/manage.py runserver 8000
Traceback (most recent call last):
File "E:/work/wowzers-webapp/manage.py", line 21, in <module>
main()
File "E:/work/wowzers-webapp/manage.py", line 17, in main
execute_from_command_line(sys.argv)
File "E:\work\wowzers-webapp\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "E:\work\wowzers-webapp\venv\lib\site-packages\django\core\management\__init__.py", line 334, in execute
parser = CommandParser(usage='%(prog)s subcommand [options] [args]', add_help=False, allow_abbrev=False)
File "E:\work\wowzers-webapp\venv\lib\site-packages\django\core\management\base.py", line 48, in __init__
super().__init__(**kwargs)
TypeError: __init__() got an unexpected keyword argument 'allow_abbrev'
Process finished with exit code 1
我将项目的 django 版本从 2.2.7 更新到 3.0.2 后开始出现此错误
我检查了运行配置,它是相同的python manage.py runserver 8000
我什至将 pycharm 用于启动项目的相同运行命令复制粘贴到终端:E:/work/wowzers-webapp/manage.py runserver 并在终端项目中正常启动。
在终端和运行配置中都使用了 virtualenv python,所以它们是相同的。
你能说,我应该检查一下吗? 我已经试过了:
- 使缓存无效并重新启动
- 删除 venv 文件夹并重新安装所有内容
- 谷歌搜索了大约 2 个小时来解决这个错误并没有给我任何帮助,所以我决定在这里问,因为我在循环中......
附加信息:我当前的 Python 版本 3.7.2,但它不应该说太多,因为在终端中它正在正常启动..
【问题讨论】:
-
我猜你要么有 2 个不同的 venv,要么你正在运行的其中一个没有使用 venv。
-
“我将项目的 django 版本从 2.2.7 更新到 3.0.2 后开始出现此错误” - 你是如何进行此升级的?
-
@TomDalton 通过将虚拟环境的 Django 版本从 2.2.7 更改为 3.0.2。并通过docs.djangoproject.com/en/3.0/howto/upgrade-version 和docs.djangoproject.com/en/3.0/releases 并确保它能够正常工作。无论如何,该项目通过终端正常启动,我想有一些 PyCharm 配置无法启动。我只是好奇是否有人知道。