【发布时间】:2011-12-16 13:33:36
【问题描述】:
尴尬的场景
我正在开发一个 python 包,并想使用一个不是我自己编写的外部包作为依赖项。
由于外部包相当复杂,它还附带了各种多余的软件,比如它自己的 bash 或 python 可执行文件。当然,我不想使用 bash 或交付的 python 可执行文件,而是使用我自己的 IDE 设置。
因此我开始检查交付的 bash 的环境变量,例如 PATH、PYTHONPATH 或 LD_LIBRARAY_PATH(外部包依赖编译的共享对象)。
在设置了这些环境变量后,我尝试在我的 IDE 中运行一个简单的“Hello World”脚本,但没有成功(这就是我在这里发帖的原因^^)。另一方面,如果我从交付的 bash 中运行相同的脚本,它运行没有问题。
问题
- python,甚至更复杂的python代码依赖什么样的依赖?
- 有没有办法检查为什么从两个不同环境执行的脚本表现不同?
我在 IDE 中运行脚本的问题是包中的错误,而不是某些 找不到共享对象 或 无法加载模块... 或某物。但为什么它的行为不同呢?
除了环境变量之外,还有什么其他问题可以让两个不同的 python 可执行文件运行完全相同?
【问题讨论】:
-
这是开放式的。 Python 包可以依赖于任何其他 Python 包、C、C++ 或 Fortran 库、外部程序...
-
@larsmans 我同意。但我试图用环境变量重现确切的状态。并且在相同的状态下,python 应该会产生相同的结果!?
标签: python dependencies environment-variables