有没有办法阻止python创建.pyc文件,已经在Python脚本中的shebang(或魔术数字)?
不工作:
#!/usr/bin/env python -B
答案 0 :(得分:6)
可以将你的python interperter路径直接放在她的bang而不是使用env。
#!/usr/bin/python -B
当然这意味着你会失去使用env的一些便携性优势。有关wikipedia Shebang page的env的这个问题的讨论。他们使用python作为他们的env示例之一。
答案 1 :(得分:4)
是的,当且仅当我们假设Python程序在某个POSIX兼容系统(/ bin / sh)中运行时,这将起作用:
(改进基于glglgl的输入)
#!/bin/sh
"exec" "python" "-B" "$0" "$@"
# The rest of the Python program follows below:
答案 2 :(得分:4)
根据env的手册页,您可以传递name=value
来设置环境变量。 PYTHONDONTWRITEBYTECODE
环境变量导致Python不写.py [co]文件(与-B
标志相同的python
)。所以使用
#!/usr/bin/env PYTHONDONTWRITEBYTECODE=1 python
应该做的伎俩。
编辑:
我用一个简单的Python脚本测试了这个:
#!/usr/bin/env PYTHONDONTWRITEBYTECODE=1 python
print 1
然后
$chmod +x test.py
$./test.py
1
$ls
test.py
(但不是test.pyc
)
答案 3 :(得分:3)
因此env
尝试以给定文件作为一个参数执行python -B
,而不是python
而-B
和当前文件作为两个参数。
我没有找到实现目标的方法。