问题标签 [pyc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1290 浏览

python - python pyc only modules 导致 ImportError: No module named

我有一个只有 .pyc 文件的文件夹“模块”(还有一个init .pyc)

test.py包含导入行:

或者

都会失败。只要

工作,但不能访问文件onetwo

任何提示?

。F

0 投票
2 回答
53937 浏览

python - .pyc 文件何时刷新?

我知道“.pyc”文件是纯文本“.py”文件的编译版本,在运行时创建以使程序运行得更快。但是我观察到一些事情:

  1. 修改“py”文件后,程序行为会发生变化。这表明“py”文件已编译或至少经过某种散列过程或比较时间戳以判断是否应重新编译它们。
  2. 删除所有“.pyc”文件 ( rm *.pyc) 后,有时程序行为会发生变化。这表明它们没有在更新“.py”时被编译。

问题:

  • 他们如何决定何时编译?
  • 有没有办法确保他们在开发过程中进行更严格的检查?
0 投票
3 回答
1342 浏览

python - 为什么 python 库不作为 pyc 提供?

如果我理解正确,Python 编译文件是跨平台的。那么为什么大多数发布的库都需要构建和安装呢?

是分发者的懒惰,还是说他们可以简单地分发 pyc 文件是错误的?如果不是这种情况,我如何分发一个包含库作为先决条件的 python 脚本文件,而不需要用户构建和安装库?

0 投票
1 回答
287 浏览

python - Python 代码仅在 pyc 文件更改时暂时工作

我遇到了一个非常奇怪的问题。我已经将一些 python 代码从一个版本更改为下一个版本,它似乎破坏了代码(尽管通过了测试)。当我去添加调试语句时,代码开始正常工作。再试一次就失败了。经过实验,我意识到只有在更改或删除 pyc 文件后才能运行一次。什么??有没有其他人经历过这个?有什么想法可以解决这个问题吗?

tldr:代码仅在 pyc 更改或删除然后停止工作后才有效。

编辑:问题似乎是 pyc 文件本身。我在没有运行代码的情况下编译了 pyc 文件并尝试运行它,但它没有工作。我做了一些研究,我认为 python 创建这些 pyc 的方式是,当我尝试运行它时,它会将其加载到环境中,然后创建 pyc。这意味着它在从源加载时工作,但从 pyc 加载时失败。

0 投票
2 回答
7467 浏览

python - 与 .py 文件相比,为什么 .pyc 文件的“运行”速度不快?

我知道 .py 和 .pyc 文件之间的区别。我的问题不是关于如何而是关于为什么根据文档

从 .pyc 或 .pyo 文件中读取程序时,程序运行的速度并不比从 .py 文件中读取时快;.pyc 或 .pyo 文件唯一更快的是它们的加载速度。

.pyc 文件加载导入更快。但是在加载 .pyc 文件的“运行”部分后,与 .py 文件中的“运行”部分花费的时间相同吗?这是为什么?我本来希望

  • 位代码 (.pyc) 更接近 Python 虚拟机,因此运行速度更快
  • .py 文件在执行之前被编译为 .pyc。这需要额外的步骤,因此会花费时间。

我的问题:在导入部分之后,为什么 .pyc 文件的运行部分与 .py 文件相比没有加快执行速度?

0 投票
2 回答
367 浏览

python - 电源循环时可以使用Python pyc吗?

想知道 python 是否能够在给定 py 的编译阶段对 pyc 进行检查,以防止由于系统(和磁盘)突然断电而损坏 pyc。当系统重新启动时,是否会检查可能存在的 pyc 的完整性,如果它被认为是可疑的,是否会重新生成?

0 投票
0 回答
563 浏览

python - 修改 .pyc 编译/加载工作流程的最安全方法?

我正在研究MacroPy,该项目所做的一件事是通过 PEP302 导入挂钩连接到 Python 导入系统。但是,我没有做过(并且想做)的一件事是让 MacroPy 将导入的代码保存到.pyc文件中,就像正常导入一样,如果时间戳匹配,则.pyc优先使用文件而不是文件。.py

目前,我的代码如下所示:

这基本上是从py_compile模块复制和粘贴的,并修改为使用内存文件而不是磁盘。

我不喜欢这种复制和粘贴,因为它很脆弱:例如,它不能sys.dont_write_bytecode与 python3's 一起使用pycache。我可以手动修复这些以模拟行为,但我真正想要的是一种手动调用函数的方法:

并将该挂钩连接到正常的.pyc保存/加载工作流程(它已经尊重所有与 pyc 相关的切换、环境变量等),而不是自己重新实现所有行为,而不是自己繁琐地重新实现所有行为。

我已经用谷歌搜索并没有想出太多。Python 2.7 和 Python 3.4 中是否公开了此类功能,或者是否有第三方模块可以为我执行此操作?

0 投票
1 回答
5362 浏览

python - 在bash中输入`ls`时如何隐藏.pyc文件

当我ls在 bash 中执行时,我总是看到太多*.pyc文件。有没有办法隐藏这些文件?

0 投票
2 回答
5529 浏览

python - 如何将多个 py 文件编译为一个?

我是 Python 新手,完全不知道从哪里开始完成这项工作。

我编写了许多需要在单个 .pyc 文件中编译的小模块(maya 的工具集)。有没有一个模块可以做到这一点?或者你能告诉我从哪里开始吗?教程?我什至不知道要查找什么术语。

0 投票
1 回答
10569 浏览

python - 反编译 *.pyc 文件

我是编程新手,目前正在学习 MIT OCW 课程,使用 Python 2.6。

该站点为我提供了一个 .pyc 文件,我想知道是否可以将其反编译回 .py 文件。

我在网上研究了一些方法,比如:是否可以将编译好的.pyc文件反编译成.py文件?

但我就是听不懂他们在说什么(新人)。

如果有详细的操作指南,对像我这样的新手会有很大帮助。

谢谢你,对不起我的英语不好。