OSX上的Sublime Text 3。
我正在编写一个插件,用于加载一个特别糟糕的第三方Python模块,该模块依赖于环境变量的值来正常运行(特别是DYLD_LIBRARY_PATH
)。
当然,我可以在全球范围内设置它,但我希望Sublime插件能够自成一体。我注意到插件在Sublime本身的子进程中运行 - 有没有办法告诉Sublime在它旋转之前为plugin_host
进程提供特定的环境变量?
如果没有,有没有人知道解决这个问题的另一种方法?出于性能和简单性的原因,我非常希望python脚本是自包含的,而不是调用使用该库的外部脚本。谢谢。
答案 0 :(得分:0)
查看os.putenv()
和os.environ
,了解有关从Python设置环境变量的详细信息。因此,对于您的情况,在导入第三方模块之前,请使用以下内容:
import os
os.environ['DYLD_LIBRARY_PATH'] = '/usr/lib/foo:' + os.environ.get('DYLD_LIBRARY_PATH')
import third_party
# and so on...