2013-05-11 1 views
0

Я использую Python (x, y) 2.7. Я пишу код либо в Spyder, либо используя Eclipse + Pydev. Когда я пытаюсь получить список модулей Python, IDE Spyder дает отличный результат, чем Eclipse + Pydev. Код простEclipse + Pydev показывает отличный результат, чем Spyder для списка модулей Python

import sys as s 
print s.modules.keys() 

Spyder дает правильные имена модулей, как

['matplotlib._tri', 'numpy.core.info', 'dicom.os', 'matplotlib.artist',...etc. 

Затмение + Pydev дает результат, как

[ 'copy_reg', 'sre_compile', «локали ',' _sre ',' functools ', ' encodings ',' site ',' builtin ',' sys config ',' operator ', ' main ',' types ',' encodings.encodings ',' sphinxcontrib ',' msvcrt ', ' abc ',' enthought ',' _weakrefset ',' errno ',' encodings.codecs ', ' sre_constants ',' imp ',' _abcoll ',' ntpath ',' _codecs ',' new ',' nt ', ' _warnings ',' genericpath ',' stat ',' zipimport ' , 'кодировки. builtin ',' warnings ',' UserDict ',' encodings.cp1252 ', ' sys ',' codecs ',' re ',' os.path ',' _functools ',' getpass ',' _locale ',' 'sitecustomize', 'сигнал', 'отслеживающий', 'linecache', 'encodings.aliases', 'исключения', 'sre_parse', 'ОС', '_weakref']

Почему эта разница? Любой материал/справочная информация будет отличным. Есть ли способ получить тот же результат, данный Spyder?

ответ

2

Одна из главных целей дизайна Spyder заключается в том, чтобы сделать интерактивные научные вычисления максимально безболезненными. Чтобы облегчить это, по умолчанию Spyder запускает настраиваемый интерактивный сеанс Python при запуске. Он достигает этой настройки, устанавливая переменную среды PYTHONSTARTUP, которая указывает путь к скрипту, который будет запущен при запуске интерпретатора. Вы можете управлять этим параметром в разделе «Настройки» ... «Консоль» ... «Дополнительные настройки». По умолчанию Spyder указывает на scientific_startup.py, который импортирует целый ряд научных модулей и функций непосредственно в основное пространство имен, так что быстрое интерактивное исследование легко.

Предположим, вы можете настроить PyDev на загрузку того же самого сценария запуска, установив ту же переменную среды в настройках Interpreter Configuration. Однако PyDev использовал этот сценарий запуска для каждого интерпретатора Python, и это может быть не то, что вы намереваетесь делать все время, особенно если вы используете PyDev для разработки приложений Python.

Обратите внимание, что для любого скрипта в редакторе Spyder вы можете контролировать, будет ли он выполняться в текущем интерактивном интерпретаторе Python или в отдельном специализированном интерпретаторе Python, который не использует научный сценарий запуска. Используйте диалог «Запуск настройки» (нажмите F6). Иногда вы хотите продолжать выполнение своего сценария снова и снова в одном и том же интерактивном сеансе, но в другое время (например, при разработке приложения GUI) вы хотите, чтобы каждое выполнение скрипта выполнялось на чистой сессии Python, которая не имеет кучу дополнительных научных функций в основное пространство имен.

+0

Хорошее и подробное объяснение – pmr