Я следую книге по изучению keras по тензорному потоку в виртуальной среде.
Некоторые пакеты были установлены в моей виртуальной среде ~ / .venv2.
Внутри виртуальной среды (после выбора сценария активации), когда я запускаю скрипт ниже (tt.py)
import sys
print sys.path
, я получаю
(venv2) ckim @ chan-ubuntu: ~ / Tensorflow / chapter_10 $ python tt.py
['/home/ckim/Tensorflow/chapter_10', '/home/ckim/venv2/lib/python2.7', '/home/ckim/venv2/lib/python2.7/plat-x86_64-linux-gnu', '/home/ckim/venv2/lib/python2.7/lib-tk', '/home/ckim/venv2/lib/python2.7/lib-old', '/home/ckim/venv2/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/home/ckim/venv2/local/lib/python2.7/site-packages', '/home/ckim/venv2/lib/python2.7/site-packages', '/home/ckim/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']
Я вижу пути к пакетам в переменной sys.path выше.Но когда я запускаю код с использованием DDD с помощью Pydb, я получаю другой результат.(Я запускаю его ddd -pydb tt.py
и запускаю его внутри ddd)
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/ckim/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']
Как видите, все пути к пакетам в моем ~ / venv2 не указаны.Как я могу передать эти пути отладчику?
[ADD]
Я обнаружил, что просто добавив правильный sys.path в начале программы, я могу использовать все пакеты, кроме DDD, в виртуальной среде.как ниже.
import sys
sys.path = ['/home/ckim/Tensorflow/chapter_10', '/home/ckim/venv2/lib/python2.7', '/home/ckim/venv2/lib/python2.7/plat-x86_64-linux-gnu', '/home/ckim/venv2/lib/python2.7/lib-tk', '/home/ckim/venv2/lib/python2.7/lib-old', '/home/ckim/venv2/lib/python2.7/lib-dynload', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/home/ckim/venv2/local/lib/python2.7/site-packages', '/home/ckim/venv2/lib/python2.7/site-packages', '/home/ckim/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']
Но я все еще хочу знать, есть ли более элегантный способ сделать это (не касаясь исходного источника).