我知道如果我用PYTHONPATH
标志启动它,我可以让Python忽略-E
。
但是如何让pip
安装脚本来获得此标志?
我尝试了两个"脚本"和#34; console_scripts"代码部分和pip
剥离-E,如果我把它放在#!线。
答案 0 :(得分:1)
我通常建议不要使用这种技巧。目标系统出于某种原因将路径放置到位。如果你想要打破virtualenv,你应该建议不要在文档中安装virtualenv。
但是,您可以从sys.path
删除该条目。
import sys
import os
sys.path = [p for p in sys.path if p not in [os.path.abspath(x) for x in os.environ['PYTHONPATH'].split(':')]]
答案 1 :(得分:0)
现在最简单的方法似乎是编写一个脚本,如果不包含该标志,则重启Python:
#!/bin/env python
import sys
if not sys.flags.ignore_environment:
import os
os.execv(sys.executable, [sys.executable, '-E'] + sys.argv)
# Run your actual script here
然后在setup.py中输入:
setup(..., scripts=['myscript'], ...)
不要使用entry_points / console_scripts。这不应该用于公共模块,仅用于内部脚本。