在不同Linux版本上运行的Python可执行文件

时间:2018-12-18 14:33:56

标签: python ubuntu centos version

我需要编写一个最终将在CentOS上运行的程序(版本6.3-它是安全设备,但我具有root访问权限) 我在Ubuntu中安装了开发环境,并使用pyinstaller创建了一个可执行文件。在PyCharm中,我可以在python版本2.7和3.6之间进行选择-我尝试了两者并创建了exe。 该程序可以在Ubuntu上正常运行,但不幸的是,不能在CentOS下运行 CentOS向我展示了Python版本2.66

问题: -一般情况下可以运作吗? -我遇到错误-(缺少lib)(但文件存在): “ ./ICC:/lib64/libc.so.6:找不到版本'GLIBC_2.14'(/ tmp / _MEIoHOzeE / libz.so.1要求)”-我认为版本不匹配?

  • 在CentOS(2.66)上安装python版本是否很重要(我希望可执行文件包含所需的所有内容?)

  • 我将pyinstaller与选项“ --onefile”一起使用

  • 我在源代码的第一行中添加了“#!/ usr / bin / python”

  • 如果我运行.py文件(源代码),则会遇到多个错误:

    ./ ICC.py:第1行:导入:找不到命令 ./ICC.py:第2行:导入:找不到命令 ./ICC.py:第13行:版本:找不到命令 ./ICC.py:第24行:try ::找不到命令 ./ICC.py:第25行:意外令牌(' ./ICC.py: line 25:日志文件=打开附近出现语法错误(“ /tmp/icm-log.txt”,“ w”)'

(相同的代码在ubuntu上运行良好,猜测新的python版本中的情况已经改变,这很有意义)

  • 我需要用Python 2.66编写程序吗?我需要将开发转移到CentOS吗?

  • 我无法在CentOS上升级Python,因为它可能会破坏其他东西

有关如何进行此工作的任何建议,想法和提示。

TIA马丁

1 个答案:

答案 0 :(得分:0)

使用PyInstaller创建可执行二进制文件时,必须在目标计算机或目标环境上执行。

  

PyInstaller的输出特定于活动的操作系统和Python的活动版本。这意味着要为以下内容准备发行版:

     
      
  • 其他操作系统
  •   
  • 不同版本的Python
  •   
  • 32位或64位操作系统
  •   
     

您可以在该操作系统上以该版本的Python运行PyInstaller。执行PyInstaller的Python解释器是捆绑软件的一部分,它特定于操作系统和字长。”

更多可用信息here