首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已生成停止.pyc和.pyo

已生成停止.pyc和.pyo
EN

Stack Overflow用户
提问于 2015-04-27 17:46:04
回答 1查看 606关注 0票数 0

我有一个包含python脚本的rpm。当rpm安装在服务器上时,它会创建.pyc和.pyo文件。有没有一个标志,我可以放置在我的脚本,将停止这些文件的生成。我无法更改安装脚本。脚本(Python)将在稍后由用户运行。

我尝试过#!/usr/bin/python -B,但它似乎不起作用。我已经看过sys.dont_write_bytecode = True了,但我不确定这是否会起作用,因为脚本在安装期间不会运行。

Python版本为2.6.6

任何帮助都将不胜感激。

注:感谢您到目前为止的回复。这些文件似乎是在将脚本放在服务器上的同时创建的。我假设安装程序正在做这件事。.pyc和pyo文件仅用于脚本本身。示例:scriptname.py ,scriptname.pyc, scriptname.pyo

它看起来好像是在创建rpm的过程中发生的。Maven会生成这些文件吗?如果是这样的话,有没有办法阻止它在rpm中打包这些文件?

EN

回答 1

Stack Overflow用户

发布于 2015-04-27 17:57:50

如果您的问题是脚本导入了其他模块,并且当“脚本( .pyc )将在稍后由用户运行”时,您获得了这些其他模块(而不是脚本本身)的Python文件,而您想要停止该操作,那么只需:

代码语言:javascript
复制
import sys
sys.dont_write_bytecode = False

你可以说:

我已经看到sys.dont_write_bytecode = True,但我不确定这是否会起作用,因为脚本在安装期间不会运行。

这很好。如果脚本没有在安装时运行,那么它一开始就不会生成任何字节码,所以这不是问题。当用户稍后运行它时,这将使它不会生成.pyc文件。

参见the docs

另一方面,如果您的问题是安装程序正在为脚本或脚本需要的所有模块预先生成.pyc文件,那么您在脚本中所做的任何事情都无法解决这个问题;您只需要删除安装程序中执行此操作的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29892273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档