嗨,我正在尝试直接从终端运行 python 脚本。为此,我已将包含代码的目录添加到我的环境 PATH 变量中。但是,我可以在指定完整路径时运行,但在调用脚本时却不能运行。
(base) DS:~ $ /home/user_abc/my_codes/status.py
Everything is ok!
(base) DS:~ $ echo $PATH
/home/user_abc/anaconda3/bin:/home/user_abc/mycodes:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/bin
(base) DS:~ $ status.py
-bash: status.py: command not found
(base) DS:~ $ /status.py
-bash: /status.py: No such file or directory
(base) DS:~ $ ./status.py
-bash: ./status.py: No such file or directory
(base) DS:~ $
我的shebang看起来就是这样。
#!/home/user_abc/anaconda3/bin/python3
(base) DS:~ $ python3 status.py
python3: can't open file status.py': [Errno 2] No such file or directory
(base) DS:~ $ python status.py
python: can't open file 'status.py': [Errno 2] No such file or directory
(base) DS:~ $
虽然我不想要 python,只是想像任何其他命令一样调用脚本。
答案 0 :(得分:2)
您的 PATH 不包括脚本的路径。
您在路径中提到了 /home/user_abc/mycodes
,但 python 脚本的位置在 /home/user_abc/my_codes/
运行此命令以解决问题。
$ export PATH=$PATH:/home/user_abc/my_codes
$ status.py
答案 1 :(得分:1)
您的 PATH 似乎有误。
/home/user_abc/mycodes
应该是 /home/user_abc/my_codes
。
答案 2 :(得分:0)
好吧,您至少需要像这样提及相对路径:
$ python my_codes/status.py
要了解有关相对路径的更多信息,请参阅此处:link
你需要提到python,因为它不是一个可执行文件,也就是说,它只是一个脚本,我们需要提到我们想要执行它的解释器。