- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经开始使用 Python 开发商业应用程序,并且正在权衡如何分发该应用程序的选项。
除了显而易见的(使用适当的商业许可证分发源代码)之外,我正在考虑只分发 .pyc
文件而不分发它们相应的 .py
源代码。但我对 Python 的兼容性保证还不够熟悉,不知道这是否可行,更不用说这是否是个好主意了。
.pyc
文件是否独立于底层操作系统?例如,在 64 位 Linux 机器上生成的 .pyc
文件可以在 32 位 Windows 机器上运行吗?
我找到了 .pyc
文件 should be compatible across bugfix releases ,但是主要版本和次要版本呢?例如,使用 Python 3.1.5 生成的文件是否与 Python 3.2.x 兼容?或者用 Python 2.7.3 生成的 .pyc
文件是否与 Python 3.x 版本兼容?
编辑:
首先,我可能不得不安抚那些不愿意分发资源的利益相关者。分发没有源代码的 .pyc
可能会给他们带来一定程度的安慰,因为它需要额外的反编译步骤才能获得源代码,即使该步骤有些微不足道。足以让诚实的人保持诚实的障碍。
最佳答案
For example, would a file generated with Python 3.1.5 be compatible with Python 3.2.x?
没有。
Or would a .pyc file generated with Python 2.7.3 be compatible with a Python 3.x release?
双重否定。
I'm considering distributing just the .pyc files without their corresponding .py sources.
Python 字节码是高级的并且可以简单地反编译。
关于python - 分发 .pyc 文件有什么限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11368304/
当我第一次开始使用 Django 应用程序时,我不记得这些文件在那里,并且 Django 教程的文件列表中也没有提到它们 我对此进行了更多研究,发现这些就是所谓的字节码 - 正如 this S.O.
不久前,我不得不将一些服务器从 Python 2.4 升级到 Python 2.5。我发现在 Python 2.4 下创建的 .pyc 文件在 Python 2.5 尝试运行它们时会崩溃。 当我从 2
关于 Python 的 .pyc 文件已经有几个问题,但我还没有读到 1) 何时(在什么情况下)创建这些文件以及 2) 是否有充分的理由保留它们。 更具体地说: 关于 (1):在我运行的 200 个或
根据我所做的测试,使用相同版本的 python(相同的魔数(Magic Number)),64 位解释器可以加载由 32 位版本的 python 生成的 pyc 文件。我假设是相互的。 但是它绝对安全
我有 2 个 Python 文件,名为 numbers.py 和 numpyBasicOps.py。 numbers.py 是一个简单的 Python 文件,没有导入任何模块。 numpyBasicO
我假设标准库类型提示支持全部基于阅读普通源代码,就像 inspect 对某些事情所做的那样,但我查看了 typing.py在标准库中,编译器似乎确实在对象本身上存储了类型提示信息。 所以,如果我这样做
我目前正在开发一个 C# 应用程序,该应用程序应该能够启动多个 Python 解释器。 我读过几篇有关该主题的文章,例如: http://www.awasu.com/weblog/embedding-
我有一个 python 编译的脚本(script.pyc,我没有 .py 文件),它在我的 Windows 命令提示符下运行良好,我想从我的 Java 应用程序中执行它。我尝试使用 runtime()
似乎有时当我从 git 中拉取时,旧的 .pyc 运行而不是新拉取的 .py 文件有没有办法自动清除 .pyc 文件以便它始终运行最新版本? 最佳答案 旧的 .pyc 会被 Python 自动清除,前
我最近开始在树莓派上进行 python 开发。在阅读 .pyc 文件以加速启动时,我想知道如果我在 PC 上测试 .pyc 文件,假设 Rpi 上有相同的 python 模块,它会直接工作吗?还请包括
做的时候: >git status 它在“未跟踪文件”下显示了一个大的 .pyc 文件列表。我不希望它显示这些,因为它会增加噪音。 换句话说,如何让 git 始终忽略所有项目的 .pyc 文件? 编辑
我了解“.pyc”文件是纯文本“.py”文件的编译版本,在运行时创建以使程序运行得更快。但是我观察到一些事情: 修改“py”文件后,程序行为会发生变化。这表明“py”文件已编译或至少经过某种散列过程或
我是 python 的新手,因此是一个愚蠢的问题。 据我所知,在第一次执行 *.py 程序时,字节码会被创建到 *.pyc 中并一直使用到 *.py 文件发生更改。 这个 *.pyc 字节码可以在项目
什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,是由pytho
我有一个使用几个 PY 文件的程序。在我使用 PY 文件之前,代码工作正常。但是,对于加密,当我删除 PY 文件并只保留 PYC 文件时,程序失败并显示消息:ImportError: 没有名为 abc
我有一个使用几个 PY 文件的程序。在我使用 PY 文件之前,代码工作正常。但是,对于加密,当我删除 PY 文件并只保留 PYC 文件时,程序失败并显示消息:ImportError: 没有名为 abc
假设我有一个像这样组织的 python 代码库: ./mod/: ./__init__.py ./main/main.py ./main/__init__.py ./m
我在一个相当大的项目中重命名了一些文件,并想删除它们留下的 .pyc 文件。我尝试了 bash 脚本: rm -r *.pyc 但这并没有像我想象的那样在文件夹中递归。我做错了什么? 最佳答案 fi
昨天使用Google App Engine在python中开发它停止运行当前版本的脚本。它似乎没有执行最新版本,而是运行了先前预编译的 .pyc,即使 .py 源已更改。 错误消息实际上引用了最新来源
pyc 文件在过去一直是痛苦的原因,我最近看到一些关于防止 python 生成它们的帖子。目前,我们只是在任何代码更改后运行一个脚本来清理它们,以确保生成新的代码,但通常禁用它们会容易得多。在我们的生
我是一名优秀的程序员,十分优秀!