我做了一些谷歌搜索和SO搜索,似乎无法找到一种方法(除了修改PATH或PYTHONPATH之外),以脚本形式运行应用程序时避免了<?php if ($data['results']){
$i=1;
foreach ($data['results'] as $row) {
?>
<tr>
{{$row->query_feedback_type}}
<td><center><?php echo $row->name; ?></center></td>
<td><center><?php echo $row->queryFeedbackType->id ?> //getting error in this line
。但是,通过REPL运行时,一切似乎都正常。有没有很好的方法做到这一点,还是我只需要接受我的应用程序的PYTHONPATH需要预定义的事实?如果修改PYTHONPATH是最好的方法,那么在下面的示例应用程序中应在哪里设置呢?
并且要澄清的是,这不是一个“破产,帮助解决问题”的问题,而是一个“如何最好地解决此问题”的问题。
一个示例应用程序:
ModuleNotFoundError
.
└── mnf_app
├── __init__.py
├── dir1
│ ├── __init__.py
│ └── mod1.py
└── dir2
├── __init__.py
└── mod2.py
# mnf_app/dir1/mod1.py
from mnf_app.dir2 import mod2
print('hello from', __file__)
# mnf_app/dir2/mod2.py
print('hello from', __file__)
$ python
>>> import mnf_app.dir1.mod1
hello from /private/tmp/mnf-app/mnf_app/dir2/mod2.py
hello from /private/tmp/mnf-app/mnf_app/dir1/mod1.py
$ python mnf_app/dir1/mod1.py
Traceback (most recent call last):
File "mnf_app/dir1/mod1.py", line 1, in <module>
from mnf_app.dir2 import mod2
ModuleNotFoundError: No module named 'mnf_app'