鉴于我有一个文件夹“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。
此答案发布为 edit问题How to put a folder on PATH with Python?通过 OP Wlad在 CC BY-SA 3.0 下。
关于python - 如何使用 Python 将文件夹放在 PATH 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40239544/