【问题标题】:What does python depend on while executing a script?python在执行脚本时依赖什么?
【发布时间】:2011-12-16 13:33:36
【问题描述】:

尴尬的场景

我正在开发一个 python 包,并想使用一个不是我自己编写的外部包作为依赖项。

由于外部包相当复杂,它还附带了各种多余的软件,比如它自己的 bash 或 python 可执行文件。当然,我不想使用 bash 或交付的 python 可执行文件,而是使用我自己的 IDE 设置。

因此我开始检查交付的 bash 的环境变量,例如 PATHPYTHONPATHLD_LIBRARAY_PATH(外部包依赖编译的共享对象)。

在设置了这些环境变量后,我尝试在我的 IDE 中运行一个简单的“Hello World”脚本,但没有成功(这就是我在这里发帖的原因^^)。另一方面,如果我从交付的 bash 中运行相同的脚本,它运行没有问题。

问题

  • python,甚至更复杂的python代码依赖什么样的依赖?
  • 有没有办法检查为什么从两个不同环境执行的脚本表现不同?

我在 IDE 中运行脚本的问题是包中的错误,而不是某些 找不到共享对象无法加载模块... 或某物。但为什么它的行为不同呢?

除了环境变量之外,还有什么其他问题可以让两个不同的 python 可执行文件运行完全相同?

【问题讨论】:

  • 这是开放式的。 Python 包可以依赖于任何其他 Python 包、C、C++ 或 Fortran 库、外部程序...
  • @larsmans 我同意。但我试图用环境变量重现确切的状态。并且在相同的状态下,python 应该会产生相同的结果!?

标签: python dependencies environment-variables


【解决方案1】:

这里列出了 Python 使用的所有环境变量:Python environment variables

确保您的 Python 解释器与外部解释器具有相同的版本。

【讨论】:

  • 我刚刚从交付的 bash 中提取了 os.environ 字典,并在我自己的 IDE 中使用了该字典,并且能够运行我的“Hello World”脚本。有没有办法让 os.environ 字典保持与交付的 bash 中相同的值?
  • 我宁愿尝试找出是哪个环境变量造成了麻烦...
  • 对,这就是我所追求的。泡菜只表明这是可能的。您知道如何有效地找出导致问题的环境变量吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 2021-07-21
  • 2013-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-21
相关资源
最近更新 更多