我可以创建一个图标来启动我的cython编译程序(python)

时间:2017-04-23 09:43:10

标签: python cython compiled

python程序编译为cython

  • 没有打开终端
  • 指向我的virtualenv
  • >>> import my_program

反而希望让它更加用户友好 并从图标

启动该程序

2 个答案:

答案 0 :(得分:2)

我不确定您使用的操作系统。但是,两者的答案都是相似的。

在Windows上:

您需要创建一个.bat文件。是already questions about how to do this to use Python。 .bat文件只是一个文本文件,其中包含您要执行的命令列表(即通常在命令提示符中输入的内容)。 Python系列将是:

 C:\path\to\python\pythonw.exe -m my_program %*

pythonw而不是Python避免创建窗口。 %*将任何命令行参数传递给您的程序(不是必需的,但可能是很好的做法)。 -m将您的程序版本设为__main__模块。

编辑 -m不适用于已编译的(Cython)模块。要运行这些,您应该改为C:\path\to\python\pythonw.exe -c "import my_program" %*

.bat文件应该可以通过单击来执行。

在Linux上(我认为也是OSX):

您需要一个shell脚本,而不是.bat脚本。同样,它只是一个要执行的命令列表(所以你通常输入到终端)。你的python行应该是

python -m my_program $@

或(如果my_program是已编译的模块)

python -c "import my_program" $@

$@是转发命令行参数。然后,您需要使shell脚本可执行。见this very comprehensive question。一旦你使它可执行,你应该能够点击它来运行它。

答案 1 :(得分:0)

在Linux(Ubuntu)上-为Cython编译.so文件(Python)创建图标 并打开virtualenv(如果您有一个设置)

  1. 创建一个shell脚本 打开文本编辑器(文件),然后输入以下行

    #below is a line you need to put at the top 
    #!/bin/bash
    
    #activate virtual environment
    source virtual_environment_name/bin/activate
    
    # change to the directory where the Cython .so file is
    cd /home/user 
    
    #import the .so file (name only)
    python -c "import my_program" $@
    
主目录(终端开始所在的目录)中的

安全文件名.sh 或在您的.desktop文件中放置正确的路径

  1. 创建具有以下内容的桌面图标 打开文本编辑器并输入

    [Desktop Entry]
    
    Type=Application
    
    Terminal=true
    
    Name=Name_of_the_icon
    
    #the icon to use for the launcher
    Icon=/home/user/picture.PNG
    
    #executes the shell script we created
    Exec=gnome-terminal -e "bash -c './name_of_shell_script.sh;$SHELL'"
    Categories=Application;
    

现在将扩展名为.desktop的文件保存为

重要提示:

您必须使这两个文件均可执行:右键单击,属性,权限 勾选复选框使可执行文件 或在终端

中运行chmod + x filename

现在单击桌面上的图标以运行您的Cython编译(Python程序) (如果您不想创建特定的图标,也可以单击.sh文件来运行该程序)

如果您删除;$SHELL 来自gnome-terminal -e "bash -c './name_of_shell_script.sh;$SHELL'" 然后终端也将在程序关闭后关闭

如果您只有普通的python程序(未编译),则仅 创建一个.desktop文件,并将#!/usr/bin/env python放在 您的脚本(python程序),然后将python程序的路径而不是.sh文件放在.desktop文件中。并执行.PY文件