Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使python文件在Ubuntu中可执行_Python_Windows 7_Ubuntu - Fatal编程技术网

使python文件在Ubuntu中可执行

使python文件在Ubuntu中可执行,python,windows-7,ubuntu,Python,Windows 7,Ubuntu,在windows中,要使我的一个代码执行,我所要做的就是双击该文件。然而,我似乎不知道如何在Ubuntu中完成类似的任务 确保你有#/usr/bin/env python作为脚本的第一行,然后在shell中执行以下操作: chmod +x file.py ./file.py 您必须使用chmod设置文件的可执行权限。有关详细信息,请参阅for chmod。.pyw文件只是已重命名的.py文件,因此Windows文件关联将使用无控制台Python解释器而不是常规解释器启动它们 要在Ubuntu上

在windows中,要使我的一个代码执行,我所要做的就是双击该文件。然而,我似乎不知道如何在Ubuntu中完成类似的任务

确保你有
#/usr/bin/env python
作为脚本的第一行,然后在shell中执行以下操作:

chmod +x file.py
./file.py

您必须使用
chmod
设置文件的可执行权限。有关详细信息,请参阅for chmod。

.pyw文件只是已重命名的.py文件,因此Windows文件关联将使用无控制台Python解释器而不是常规解释器启动它们

要在Ubuntu上运行doubleclick,首先需要确保内核将脚本视为可执行文件,并知道如何处理它。为此:

  • 使用Nautilus文件属性对话框或chmod命令将其标记为可执行(
    chmod+x whatever.pyw
  • 确保文件的第一行显示
    #/usr/bin/env python
    (有关更多信息,请参阅)
  • 确保文件以Unix样式的LF(
    \n
    )行结尾保存,而不是DOS/Windows样式的CRLF(
    \r\n
    )行结尾保存。(内核希望步骤2使用Unix样式的行结尾,如果您忘记了,它会将CR(
    \r
    )字符视为路径的一部分,并会出错)
  • 您可以通过在终端窗口中运行脚本来测试是否正确完成了这些步骤。(
    cd
    到它所在的目录并运行
    /your_script.pyw

    如果可行,当您双击Nautilus时,它应该会自动显示一个“编辑或运行”对话框。然而,我已经有一段时间没有使用侏儒了,所以我不能确定


    如果没有,请尝试将文件重命名为
    .py
    。(我记得Nautilus有一个“Extension matches header?”安全检查,它可能不知道.pyw是.py的有效同义词)

    这与.pyw文件无关(它们只是阻止控制台出现,但在其他方面完全相同)。对于OP:这是您需要的,只是别忘了按照
    #的思路添加一些东西/usr/bin/python
    作为第一行。
    #
    是告诉计算机运行脚本需要什么可执行文件的unix-y方式。