【问题标题】:How to use $PYTHONPATH to change cwd如何使用 $PYTHONPATH 更改 cwd
【发布时间】:2021-11-25 12:52:10
【问题描述】:

目标:我想要我的运行文件test_data_module.py 代码通过。 bash 在这个工作目录中:

/home/me/.ssh/workers-python/workers/ontology_tagger/ontology_tagger/tests

尝试:

PYTHONPATH=$PYTHONPATH:/home/danielbellio/.ssh/workers-python/workers/ontology_tagger/ontology_tagger/tests test_data_module.py

错误:

bash: test_data_module.py: command not found

【问题讨论】:

  • 如果您仅通过拼写名称来编写命令 - 无论是 catbashpython3 还是在您的情况下为 test_data_module.py -,该命令必须具有可执行文件位设置并位于变量PATH 中命名的目录之一中。如果不是这种情况,你会得到一个 command not found 这是类 Unix 系统中命令执行的基本机制,与 Python 和PYTHONPATH 无关。我建议您从问题中删除 pythonpythonpath 标记。

标签: bash unix command


【解决方案1】:

为您的 Python 程序使用显式路径,即

 ~/your/script/dir/test_data_module.py

如果脚本是可执行的,或者

python ~/your/script/dir/test_data_module.py

分别

python3 ~/your/script/dir/test_data_module.py

如果不是。

【讨论】:

    【解决方案2】:

    PYTHONPATH 是文件夹列表,而不是文件,因此请尝试使用 PYTHONPATH=$PYTHONPATH:/home/danielbellio/.ssh/workers-python/workers/ontology_tagger/ontology_tagger/

    【讨论】:

    • 那什么也没做:(我也试过PYTHONPATH=$PYTHONPATH:/home/danielbellio/.ssh/workers-python/workers/ontology_tagger/:/home/danielbellio/.ssh/workers-python/workers/ontology_tagger/ontology_tagger/但没有运气
    • @BenoitCourty :虽然这是正确的,但它与 OP 问题无关。请参阅我对问题的评论。