【问题标题】:Python3 no such file or directoryPython3没有这样的文件或目录
【发布时间】:2014-11-19 03:07:48
【问题描述】:

我正在尝试制作 python3 可执行脚本并从 shell 运行它们。我的系统上安装了 python 3.4.0。 因此,我将 '/home/spandan/python_codes' 目录添加到 PYTHONPATH,因为我打算将我的脚本和模块保留在这里。

但是,在尝试执行这些时,系统会抛出上述错误,除非我进入 python_codes 目录然后执行它们,否则脚本不会执行。

Executing python program : 在这里我发现PYTHONPATH在制作脚本时是无关紧要的,以及如何设置python shebang。所以我将我的设置为#!/usr/bin/env python3.4.0

对吗?

【问题讨论】:

  • 如果您使用客户端编辑脚本,请注意这一行的 CRLF,这是一个小问题,它有效,然后它不起作用。

标签: linux python-3.4


【解决方案1】:

您不必将 Python 代码放在全局路径中。只需让您的 python 3.4 解释器在全球范围内可用。为此,在您的主目录中编辑 .bash_profile 或 .bashrc 文件并添加以下行:

export PATH=${PATH}:/usr/bin/python3

这将使 python3 可执行,而与您当前的工作目录无关。 为了从您的代码目录执行代码,您只需编写:

$ python3 ./your_code.py

另一种方法是在代码顶部添加 shebang 为

#/usr/bin/python3

并将权限更改为当前用户可执行(默认没有执行权限)。

$ chmod 744 your_code.py

然后直接执行脚本为

$ your_code.py

我希望我能解决你的问题。

【讨论】:

  • 它没有发生......同样的错误正在显示。除非我进入文件夹,否则 python3 解释器/可执行文件无法看到我将代码保存在哪里
  • @SpandanChatterjee 你必须进入你的代码文件夹才能执行你的代码。我不明白你为什么要在全球范围内执行你的代码。如果您希望您的脚本之一作为全局二进制代码运行,那么您必须将该代码文件复制并粘贴到全局目录中(执行echo $PATH 以查看全局目录列表)。或者,您可以在主文件夹中创建一个本地 bin 文件夹,将其设为全局 (export PATH=${PATH}:/home/your_username/bin) 并将您的代码存储在那里。
猜你喜欢
  • 1970-01-01
  • 2019-12-11
  • 2018-09-17
  • 2020-04-30
  • 2020-06-28
  • 1970-01-01
  • 2021-06-24
  • 2015-02-20
相关资源
最近更新 更多