2017-02-24 72 views
-1

我有大型python脚本script.py,我可以在virtualenv中成功运行它。如何检查在virtualenv中运行的脚本是否访问全局python

(virtualenv) [email protected]:~$ python script.py 

但是当我想将它作为sudo运行时,我使用virtualenv的python路径。

(virtualenv) [email protected]:~$ <path-to-virtualenv>/bin/python script.py 

但是这会产生错误。我怀疑它正在访问一些全局python包。有没有办法来检查正在运行的脚本/应用程序是否正在访问全局python软件包。

[注]脚本太大了,我无法一行一行地进行调试。

+2

什么是错误? – wallyk

+0

该错误是非常特定于应用程序,但通过virtualenv python软件包回溯追踪。但我想在达到错误点之前会发生错误,并且由于全局python软件包可能会发生错误。顺便说一下,我的全球和虚拟世界中有很多常见的软件包。它们的版本不同。 – Rohanil

+0

什么是错误? – Chris

回答

1

您可以使用跟踪模块在这里找到: https://docs.python.org/2/library/trace.html

运行它:

<path to virtualenv>/python -m trace filetoexec.py 

有许多与跟踪选项,看看有什么文件是干什么的,-t选项将所有内容逐行排列,您可以看到从哪里导入了哪些模块。

相关问题