如何用Python将文件夹放在PATH上?

时间:2016-10-25 12:07:25

标签: python dll path os.path

鉴于我有一个文件夹'foo',其中有一些.dll文件需要在我的python脚本'setup.py'的运行时在PATH上 是否可以将代码放入我的'setup.py'脚本中,在执行需要运行.dll文件的代码重置之前将'foo'文件夹放在PATH上?

到目前为止,我已经尝试过这个:

import sys
import os
foo = os.path.abspath('dependencies/foo')
if sys.path[1]!= foo:
    print('Adding foo to PATH:')
    sys.path.insert(1, foo)
    print sys.path
else:
    print('foo is already on PATH!')

import lib_which_requires_dll_from_foo
...

但它没有效果,虽然sys.path显示'foo'在PATH上 - 或者我错了,它不应该是它应该在的PATH。

如果我使用set PATH=C:\my_path_to\foo;%PATH%)

将'foo'放在PATH上,我的setup.py脚本就可以正常工作

编辑:我现在使用的解决方案:

import os
FOO = os.path.abspath('path_to_my/FOO')
os.environ['PATH'] = FOO + ";" + os.environ['PATH']

我删除if条件因为PATH只是暂时改变 - 不是永久性的,所以不需要先检查。

注意:这将仅适用于Windows

仍然欣赏进一步的建议 - 最好是这样可以跨平台工作

0 个答案:

没有答案