gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 18:44:45 25 4
gpt4 key购买 nike

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

问题:
- 它应该一般工作吗?
- 我收到错误 - (缺少库)(但文件存在):
“./ICC:/lib64/libc.so.6: 找不到版本‘GLIBC_2.14’(/tmp/_MEIoHOzeE/libz.so.1 要求)” - 我假设版本不匹配?

  • 在 CentOS (2.66) 上安装 python 版本是否重要(我希望可执行文件包含所需的一切?)
  • 我使用带有选项“--onefile”的pyinstaller
  • 我在源代码的第一行添加了“#!/usr/bin/python”
  • 如果我运行 .py 文件(源代码),我会收到多个错误:

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

  • (相同的代码在 ubuntu 上运行良好,猜测在较新的 python 版本中发生了变化,这是有道理的)
  • 我需要用 Python 2.66 编写程序吗?我需要将开发转移到 CentOS 吗?
  • 我无法在 CentOS 上升级 Python,因为它可能会破坏其他东西

  • 关于如何完成这项工作的任何建议、想法和提示。

    TIA马丁

    最佳答案

    当您使用 PyInstaller 创建可执行二进制文件时,您必须在目标机器或目标环境中执行此操作。

    The output of PyInstaller is specific to the active operating system and the active version of Python. This means that to prepare a distribution for:

    • a different OS
    • a different version of Python
    • a 32-bit or 64-bit OS

    you run PyInstaller on that OS, under that version of Python. The Python interpreter that executes PyInstaller is part of the bundle, and it is specific to the OS and the word size."


    更多信息 here

    关于在不同 Linux 版本上运行的 Python 可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53835301/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com