2017-02-24 21 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パッケージにアクセスしているかどうかを確認する方法はありますか?

[note]スクリプトが大きすぎるため、行ごとにデバッグできませんでした。ここに見られるような

+2

エラーは何ですか? – wallyk

+0

エラーは非常にアプリに固有ですが、トレースバックはvirtualenv pythonパッケージを介してトレースします。しかし、私はエラーポイントに達する前に何か間違ったことが起こったと思うし、グローバルなpythonパッケージのために間違ったことが起きたかもしれない。ところで、私のglobalとvirtualenvには多くのパッケージが共通しています。バージョンが異なります。 – Rohanil

+0

エラーは何ですか? – Chris

答えて

1

あなたはトレースモジュールを使用することができます。 https://docs.python.org/2/library/trace.html

実行として:

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

ファイルは、-tオプションをやっているかを確認するには、トレースを持つ多くのオプションがあります。行ごとにすべてをダンプすると、どのモジュールがどこからインポートされているのかが分かります。

関連する問題