gpt4 book ai didi

python - 执行python程序

转载 作者:太空狗 更新时间:2023-10-30 02:48:58 25 4
gpt4 key购买 nike

我已经在网上搜索了很长一段时间的答案,但这让我非常头疼:

我正在使用 Ubuntu 12.04,我想在不使用完整路径的情况下从终端执行 Python 脚本。所以我通过将以下内容放入 ./bashrc 中将/home/kyril/python/scripts/添加到 PATH 变量中:

kyrilpathvariable="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/kyril/Python/scripts/:/home/kyril/Bash/scripts"

if [ "$kyrilpathvariable" = "$PATH" ]; then
echo PATH already exported

else

PATH=$PATH:/home/kyril/Python/scripts/
PATH=$PATH:/home/kyril/Bash/scripts/
export PATH

fi

(我知道 if 子句不是必需的,但如果我键入 exec bash,我不喜欢在我的 PATH 中包含两次所有内容。)

现在的问题是:这完全适用于我的 Bash 脚本,因此在通过 chmod 使它们可执行后,我只需键入 $ script.sh 即可执行。但是,如果我键入 $ python3 script.py,则会出现以下错误:python3: can't open file 'script.py': [Errno 2] No such file or directory

如果我输入脚本的完整路径,它就会工作。有人知道我做错了什么吗?我必须将目录添加到 PYTHONPATH 吗? (据我了解,这仅有助于导入模块)。

谢谢大家!

最佳答案

当直接调用python3 时,python 运行您告诉它的脚本文件,而不使用$PATH 来查找它。 PYTHONPATH 是无关紧要的——它用于搜索 Python 模块。

我猜你在运行 script.py 时遇到了调用错误解释器的问题。我不知道你脚本的第一行是什么,但应该是这样的:

#!/usr/bin/env python3

或者如果您需要更精细的控制:

#!/usr/bin/env python3.2

对于 Python 2 脚本:

#!/usr/bin/env python2

或者:

#!/usr/bin/env python2.7

在尝试使用它们之前,您应该检查这些可执行文件是否存在于您的系统中。

关于python - 执行python程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10461054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com