如何使用$PYTHONPATH运行指定目录Python脚本并解决command not found报错
错误原因
- 直接运行
test_data_module.py时,bash会将其当作系统可执行命令查找,不会默认调用Python解释器,因此触发找不到命令的报错 - 你之前配置的PYTHONPATH路径和实际工作目录路径不匹配,前者是
/home/danielbellio/开头,你的实际目录是/home/me/开头,路径不一致会导致后续Python导包失败
正确操作方案
场景1:当前已处于目标工作目录 /home/me/.ssh/workers-python/workers/ontology_tagger/ontology_tagger/tests 下
直接执行以下命令即可:
PYTHONPATH=$PYTHONPATH:/home/me/.ssh/workers-python/workers/ontology_tagger/ontology_tagger python test_data_module.py
注意:PYTHONPATH通常配置项目根目录而非tests目录本身,方便测试脚本导入上层业务代码。如果你的脚本确实需要将tests目录加入导入路径,可以自行调整路径到tests层级。
场景2:当前不在目标工作目录下
直接指定脚本的绝对路径运行即可:
PYTHONPATH=$PYTHONPATH:/home/me/.ssh/workers-python/workers/ontology_tagger/ontology_tagger python /home/me/.ssh/workers-python/workers/ontology_tagger/ontology_tagger/tests/test_data_module.py
可选优化:免加python前缀直接运行脚本
如果不想每次都输入python前缀,可以做两个修改:
- 给脚本添加可执行权限:
chmod +x /home/me/.ssh/workers-python/workers/ontology_tagger/ontology_tagger/tests/test_data_module.py
- 打开
test_data_module.py,在第一行添加shebang声明指定解释器:
#!/usr/bin/env python3
- 后续运行时只要指定脚本路径即可:
PYTHONPATH=$PYTHONPATH:/home/me/.ssh/workers-python/workers/ontology_tagger/ontology_tagger ./test_data_module.py
内容的提问来源于stack exchange,提问作者StressedBoi69420
相关产品推荐
相关产品推荐

