我为我们的Django项目配置了Pantsbuild,一切都很顺利。这是我的BUILD文件:
python_requirement(
name="django",
requirements=["django==4.1.1"],
)
python_sources(
name="lib",
dependencies=[
":django",
"//src/jango/jango",
],
)
pex_binary(
name="manage",
entry_point="manage.py",
restartable=True,
)但是,当我添加django-filter并使用以下命令运行代码时:
./pants run src/jango:manage -- runserver我遇到了一个错误:
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home/xurvan/monorepo/src/jango/manage.py", line 8, in <module>
import django_filters
ModuleNotFoundError: No module named 'django_filters'我还安装了Django Rest框架,它运行良好。但我对django-cors-headers也有同样的问题。我不明白有什么区别。
发布于 2022-09-25 08:13:49
我无法理解奇怪行为背后的原因,但我们所需要做的就是禁用Django自动加载程序。正如Pantsbuild官方小组在他们的Github中所写的那样
使用
runserver,我们关闭Django的自动重新加载器,因为我们依赖于Pants自己的文件监视,方法是在pex_binary目标上设置manage.py。
因此,使用以下命令运行代码解决了我的问题:
./pants run src/jango:manage -- runserver --noreloadhttps://stackoverflow.com/questions/73685724
复制相似问题