python可执行文件linux_linux 编译python文件为可执行文件 - CSDN
精华内容
参与话题
  • linux程序打包 使用的是pyinstaller 打开终端 sudo pip pyinstaller 报错 是pip出现的bug sudo vi /usr/bin/pip 最后三行改成下所示 from pip import main if name == ‘main’: sys.exit(main._main()) 输入:wq ...

    linux程序打包
    使用的是pyinstaller
    打开终端
    sudo pip pyinstaller
    报错
    是pip出现的bug
    sudo vi /usr/bin/pip
    最后三行改成下所示
    from pip import main
    if name == ‘main’:
    sys.exit(main._main())
    输入:wq
    保存退出
    再运行sudo pip pyinstaller
    安装成功
    pyinstaller --version
    进行验证
    pyinstaller就此安装成功

    展开全文
  • 使用PyInstaller打包python文件 在和myscript.py同目录下执行命令:pyinstaller mycript.py然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件, 你会发现dist目录下面有一堆...

    1.安装PyInstaller

        pip install pyinstaller

        pyinstaller --version

    2.使用PyInstaller打包python文件

      在和myscript.py同目录下执行命令:
    pyinstaller mycript.py然后会看到新增加了两个目录build和dist,dist下面的文件就是可以发布的可执行文件,
    你会发现dist目录下面有一堆文件,各种都动态库文件和myscrip可执行文件
    
    
    pyInstaller支持单文件模式,只需要执行:
    pyinstaller -F mycript.py
    你会发现dist下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的操作系统类似的系统的下面。


    展开全文
  • linux环境打包python工程为可执行程序

    千次阅读 2019-03-14 15:36:21
    本次又个需求,在ubuntu上面开发的python代码程序需要打包成一...不是打包成在window上的可执行程序,如果需要打包成windows上的可执行程序请参照此博客,链接:windows下打包python源码成可执行文件 本次在ubun...

    本次又个需求,在ubuntu上面开发的python代码程序需要打包成一个可执行程序然后交付给甲方,因为不能直接给源码给甲方,所以寻找方法将python开发的源码打包成一个可执行程序,注意是打包成在ubuntu上面的可执行程序,不是打包成在window上的可执行程序,如果需要打包成windows上的可执行程序请参照此博客,链接:windows下打包python源码成可执行文件

     

    本次在ubuntu上打包python源码的方法和在window上打包的有点类似,大概流程如下:

    1、在ubuntu上安装easy_install

    #sudo apt-get install python-setuptools python-dev build-essential

    2、下载并安装pyinstaller

    在网址下载pyisntaller的包,地址:http://www.pyinstaller.org/,下载对应的tar包

    假设下载下来的包是:pyinstaller_2.1.tar.gz

    然后使用命令解压包:#tar -cf pyinstaller_2.1.tar.gz

    进入解压后的目录:#cd pyinstaller_2.1

    最后执行命令安装pyinstaller:#sudo python setup.py install

    如果中间没有报错的话,pyinstaller就安装完成了

    3、打包python项目源码

    假如说你的python源码的结构目录如下:

    total 16
    drwxrwxr-x 2 jelly jelly 4096 Mar 14 15:13 config
    drwxrwxr-x 2 jelly jelly 4096 Mar 14 15:13 database
    -rw-rw-r-- 1 jelly jelly    2 Mar 14 15:13 main.py
    -rw-rw-r-- 1 jelly jelly    3 Mar 14 15:13 manager.py
    

    图中可以看到有两个文件夹,两个py源码文件,mian.py是主函数文件

    然后,我们使用命令打包源码

    #pyinstaller -F main.py

    然后就会生成如下目录

    total 28
    drwxrwxr-x 3 jelly jelly 4096 Mar 14 15:18 build
    drwxrwxr-x 2 jelly jelly 4096 Mar 14 15:13 config
    drwxrwxr-x 2 jelly jelly 4096 Mar 14 15:13 database
    drwxrwxr-x 2 jelly jelly 4096 Mar 14 15:18 dist
    -rw-rw-r-- 1 jelly jelly    2 Mar 14 15:13 main.py
    -rw-rw-r-- 1 jelly jelly  813 Mar 14 15:18 main.spec
    -rw-rw-r-- 1 jelly jelly    3 Mar 14 15:13 manager.py
    

    图中dist文件夹下面就是生成的可执行文件,可以使用命令./main执行生成的可执行文件

    但是此时你会发现有问题,因为这个打包的方法它只会打包当前目录下的所有py文件,而不会打包config和database这两个文件夹,所以此时的可执行文件打包的并不完整,此时该怎么做呢,咱们接着来

    4、重新打包

    重新打包的的意思是需要修改那个main.spec文件,然后再使用这个文件进行打包,操作流程如下

    打开main.spec文件,修改前如下内容

    # -*- mode: python ; coding: utf-8 -*-
    
    block_cipher = None
    
    
    a = Analysis(['main.py'],
                 pathex=['/home/jelly/test'],
                 binaries=[],
                 datas=[],
                 hiddenimports=[],
                 hookspath=[],
                 runtime_hooks=[],
                 excludes=[],
                 win_no_prefer_redirects=False,
                 win_private_assemblies=False,
                 cipher=block_cipher,
                 noarchive=False)
    pyz = PYZ(a.pure, a.zipped_data,
                 cipher=block_cipher)
    exe = EXE(pyz,
              a.scripts,
              a.binaries,
              a.zipfiles,
              a.datas,
              [],
              name='main',
              debug=False,
              bootloader_ignore_signals=False,
              strip=False,
              upx=True,
              runtime_tmpdir=None,
              console=True )
    

    修改后的main.spec文件内容如下:

    # -*- mode: python ; coding: utf-8 -*-
    
    block_cipher = None
    
    
    a = Analysis(['main.py'],
                 pathex=['/home/jelly/test'],
                 binaries=[],
                 datas=[],
                 hiddenimports=[],
                 hookspath=[],
                 runtime_hooks=[],
                 excludes=[],
                 win_no_prefer_redirects=False,
                 win_private_assemblies=False,
                 cipher=block_cipher,
                 noarchive=False)
    
    dict_database = Tree('/home/jelly/test/database',prefix='database')
    a.datas += dict_database
    dict_config = Tree('/home/jelly/test/config',prefix='config')
    a.datas += dict_config
    
    pyz = PYZ(a.pure, a.zipped_data,
                 cipher=block_cipher)
    exe = EXE(pyz,
              a.scripts,
              a.binaries,
              a.zipfiles,
              a.datas,
              [],
              name='main',
              debug=False,
              bootloader_ignore_signals=False,
              strip=False,
              upx=True,
              runtime_tmpdir=None,
              console=True )
    

    可以看到,中间添加了添加两个文件夹的绝对路径,是和这个路径相对应的

    pathex=['/home/jelly/test'],

    这个路径是之前工具自己生成的,所以我们添加的两个目录的绝对路径也和它保持一致,这个修改完成后久可以了

    5、编译生成

    安装第4步的修改完成后,再执行命令

    #pyinstaller mian.spec

    即可,这样打包的程序就包含了两个依赖的文件夹了

    其实最后感觉和在window上面打包生成window上的可执行文件的流程差不多,工具也都是用的pyinstaller打包。

    感谢感谢!!!

     

    展开全文
  • linux终端(terminal)中执行python文件

    万次阅读 多人点赞 2017-03-06 09:48:58
    linux终端(terminal)中执行python文件

    在linux终端(terminal)中执行python文件


    • 交互式环境

    在linux命令行模式中运行python,进入python交互式环境,写程序后直接输出结果。

    在python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍。

    • 使用编辑器生成.py文件

    将print “hello world”写入helloworld.py中,使用python helloworld.py输出hello world(必须找到目标文件的正确位置)。如果在输出前想查看该文件中的内容,可使用cat命令在终端中获得并显示。

    这里写图片描述
    通过学习发现在linux下可直接像运行.exe文件一样运行.py文件,方法是在.py文件的第一行加上下面的任意一行:

    #!/usr/bin/python
    #!/usr/bin/env python

    二者的区别在于:
    #!/usr/bin/python是告诉操作系统在调用脚本时调用/usr/bin目录下的python解释器,python解释器的路径被明确给出。
    #!/usr/bin/env python是为了防止用户没有将python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到env设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。#!/usr/bin/env python会去环境设置寻找python目录通常推荐第二种写法。
    需要再次强调的是,上述解析路径应该放在 Python 脚本的第一行。

    然后在terminal中使用chmod命令(用于修改目录或文件的访问权限),下面修改目标文件helloworld.py的权限为允许所有用户访问并可执行。

    这里写图片描述

    可以看一下目标文件的权限,确实满足所有用户访问并可执行。

    这里写图片描述

    然后不需要python命令即可执行目标文件。

    这里写图片描述

    同时如果在目标文件中第一行写入#!/usr/bin/env python,不需要将文件设置为.py格式也可直接执行,因为已经指定了执行该文件为对应目录下的python解释器。下面示例:

    这里写图片描述


    友情提醒:./在linux中表示当前目录。
    下面为借鉴博客及链接:

    http://blog.csdn.net/boriscoding/article/details/21714923
    http://www.thinksaas.cn/topics/0/507/507003.html
    http://blog.csdn.net/huangfei711/article/details/51051633

    展开全文
  • 如何在linux下运行python程序

    万次阅读 2012-12-08 01:56:31
    要编辑一个new_pythonpython程序文件,输入如下命令: $pico new_python (注:可以用vim直接编辑.) 输入如下测试代码: #!/usr/bin/env python ...保存文件后,对文件增加可执行屬性 $chmod a+x new_pyt
  • 咨询下,windows下开发的python程序,能不能直接在windows下打包成linux可执行文件,在linux下装依赖包装不明白了,求老司机给普及下!
  • Linux执行Python脚本

    万次阅读 多人点赞 2019-07-04 23:48:33
    1.Linux Python环境 Linux系统一般集成Python,如果没有安装,可以手动安装,联网状态下直接安装。Fedora下使用yum install,Ubuntu下使用apt-get install,前提都是root权限。安装完毕,Python加入环境变量...
  • python文件打包为windows linux可执行的二进制文件 日期:2018年08月15日 环境准备 确保.py文件在当前python环境下可正常运行 python环境建议:python3.5(官方版)pyinstaller 3.3.1 anaconda3.6...
  • Python是解释性语言,我们如何将普通的Python项目(含有依赖,redis)打包成可运行的一个文件(实际为文件夹吧)。下面描述一个基本流程,供大家参考。以下流程是我们实际线上REDIS数据修改的一个需求,可以简单的...
  • 在Windows下把python转化成可执行程序还是比较简单,用py2exe就可以了。Linux下比较方便的有这么几种:1. py2installer
  • Linux下怎么创建python文件,以及运行

    万次阅读 多人点赞 2018-05-28 23:12:49
    第一步创建一个文件夹test第二部,打开终端进入该文件第三步,vim test.py写好程序,编辑好之后按Esc切换到命令模式,然后输入 :wq 回车就自动保存完成了,然后输入python test.py 运行程序得出结果...
  • python及库在linux下的目录

    万次阅读 2017-05-28 22:38:48
    可执行命令sudo apt-get install python3-pip安装python3.x的pip 或者sudo apt-get install python-pip安装python2.x的pip 注:安装前最好sudo apt-get update一下 可通过pip3 和 pip分别为python...
  • 在window平台下,写好shell脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,却提示No such file or directory。ls 了下,确实有该文件,怎么会事呢, 难道是文件格式兼容性问题?用vim打开该sh文件,...
  • Linux、Windows后台运行Python脚本

    万次阅读 2020-01-02 10:12:58
    Linuxpython或nohup命令 python命令: python test.py & python -u test.py >> test.log & 参数u,时时输出内容到文件。 nohup命令: 基本用法: 1.nohup python3 test.py & 后台...
  • 听说pyinstaller多平台支持的比较好,考虑在linux(redhat 6 32-bit)上装个pyinstall, 不过真的是遇到太多问题了。。。下面是安装和使用流程: 安装使用流程 1. 首先给系统装个easy_install, 如果装...
  • linux下直接运行.py文件

    千次阅读 2018-06-26 17:06:10
    2017年09月08日 11:12:34阅读数:841在Linux命令行下运行Python,可以直接输出hello world[python] view plain copyjackywgw@jackywgw-A8F:~/python_learning$ python Python 3.3.6 (default, Apr 17 2015,...
  • Linux下查看Python安装路径

    千次阅读 2018-07-15 12:26:17
    程序和可执行文件可以在许多目录,而这些路径很可能不在操作系统提供可执行文件的搜索路径中。path(路径)存储在环境变量中,这是由操作系统维护的一个命名的字符串。这些变量包含可用的命令行解释器和其他程序的信息...
  • Python 脚本的三种执行方式

    万次阅读 2020-01-08 11:03:09
    1.交互模式下执行 Python,这种模式下,无需创建脚本文件,直接在 Python解释器的交互模式下编写对应的 Python 语句即可。 1)打开交互模式的方式: Windows下: 在开始菜单找到“命令提示符”,打开,就进入到...
  • 1、问题描述 在用crontab设置定时任务时,发现py脚本在crontab中报错,显示import某些包找不到,但是手动直接运行py脚本,完全正常。 01 05 * * * cd /data/felixping/toutiao/crontab_file;./get_topic_hourly.sh...
  • linux服务器上运行python文件

    千次阅读 2014-02-24 14:40:57
    1、 通过rz –be命令将python文件上传到linux服务器上 2、 运行chmod +x EngGet.py 将EngGet.py文件变成可执行文件 3、 ./EngGet.py 即运行了该python文件
1 2 3 4 5 ... 20
收藏数 138,335
精华内容 55,334
关键字:

python可执行文件linux