Wav*_*ave 7 python python-3.x conda
每当我在终端错误 'ModuleNotFoundError: No module named 'src' 中运行 main.py 脚本时,就会发生。但是它在 PyCharm 中运行良好。
项目结构:
-project
-resources
-src
-package1
-script1.py
-script2.py
-package2
-script3.py
-main.py
Run Code Online (Sandbox Code Playgroud)
从终端我像这样运行 -
project$ python src/main.py
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
Traceback (most recent call last):
File "src/main.py", line 1, in <module>
from src.package1 import script1
ModuleNotFoundError: No module named 'src'
Run Code Online (Sandbox Code Playgroud)
我已经尝试将文件夹/包 'src' 的绝对路径添加到 sys.path
main.py
Run Code Online (Sandbox Code Playgroud)
-project
-resources
-src
-package1
-script1.py
-script2.py
-package2
-script3.py
-main.py
Run Code Online (Sandbox Code Playgroud)
sys.path
current sys.path is ['/home/xyz/Projects/project/src', '/home/xyz/Apps/anaconda3/envs/project/lib/python37.zip', '/home/xyz/Apps/anaconda3/envs/project/lib/python3.7', '/home/xyz/Apps/anaconda3/envs/project/lib/python3.7/lib-dynload', '/home/xyz/Apps/anaconda3/envs/project/lib/python3.7/site-packages', 'src/main.py']
Run Code Online (Sandbox Code Playgroud)
小智 9
你应该能够运行它project$ python -m src.main
来源:https ://qavalidation.com/2021/03/how-to-resolve-modulenotfounderror-no-module-named-src.html/
https://docs.python.org/3/tutorial/modules.html#the-module-search-path
当导入名为 spam 的模块时,解释器首先搜索具有该名称的内置模块。如果未找到,它将搜索
spam.py在变量给出的目录列表中命名的文件sys.path。sys.path从这些位置初始化:
- 包含输入脚本的目录(或未指定文件时的当前目录)。
PYTHONPATH(目录名称列表,语法与 shell 变量 PATH 相同)。- 依赖于安装的默认值。
由于您提供了一个文件 ,src/main.py其包含的文件夹将成为搜索根。您可以在不指定src.部件的情况下导入模块。
您可以使用 sys.path 添加 python 运行时的路径:
import sys
sys.path.append('src/package1')
import script1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19816 次 |
| 最近记录: |