我编写了一个简单的bash脚本来运行我在Python中制作的游戏。但是,当我这样做时,尝试导入自定义模块时会出现导入错误。
Traceback (most recent call last):
File "/home/user/Projects/Test/game.py", line 7, in <module>
import boot, splash, menu, game, player, options
ImportError: No module named 'boot'
我检查了包含模块的文件夹的权限,它们是可访问的。如果我只是在终端中运行game.py:
python3.4 game.py
当我以Bash文件运行时,一切都很完美。没有导入错误或其他任何问题。这是我使用的Bash文件:
#!/bin/bash
STRING="Launching game..."
PYTHON="/usr/bin/python3.4"
GAME="/home/user/Projects/Test/game.py"
echo $STRING
$PYTHON "$GAME"
编辑:看起来这是一个绝对路径/相对路径的问题,即Bash文件和Python文件的位置。由于Python文件使用相对路径,运行Bash文件使其不知道自定义模块的源在哪里。
which python3.4
命令是否返回/usr/bin/python3.4
? - chrisaycockcd /the/correct/directory
。 - indivisible