2011-12-19 1 views
2

У меня очень странная проблема с библиотекой Python. Я загрузил источник библиотеки python, изменил код и использовал python setup.py install для установки библиотеки. Оригинальная библиотека уже была установлена ​​с easy_install. Позднее я дополнительно изменил исходный код и снова вызвал команду python setup.py install. Когда я использую библиотеку в коде, я произвольно получаю разные версии вызываемой библиотеки. Я также не могу полностью удалить библиотеку, хотя и easy_install -m, и pip обе говорят, что удаление удалено, библиотека сохраняется.Проблема библиотеки Python

Среда Ubuntu 11,04

Edit: Когда я называю ту же функцию от Python CommandLine последняя сборка называется, но когда я называю python myfile.py, которая использует библиотеку, она вызывает старую сборку.

+0

Вы пробовали перезагрузки? – GWW

+0

@GWW Я запускаю его на сервере Amazon. Не могу позволить себе перезагрузить – Codevalley

+1

Когда вы говорите случайное, вы действительно имеете в виду случайное? то есть вы можете запускать одну и ту же программу несколько раз точно так же и получать разные версии используемой библиотеки? В любом случае, чтобы узнать, откуда загружается библиотека, вы можете распечатать значение 'library .__ file__', и это должно дать вам каталог, из которого загружается библиотека, если вы хотите его удалить. –

ответ

1

Установщик обычно загружает код библиотеки сторонних разработчиков в каталоге site-packages. Вы можете перейти в этот каталог и удалить библиотеку (которая будет включать в себя новую и старую версии). Затем вы можете выполнить новую установку (используя setup.py на вашем отредактированном источнике).

Если библиотека находится где-то на пути, вы можете найти его с:

>>> import somelib 
>>> print somelib.__file__ 
+0

Используется somelib .__ file__, чтобы найти разные версии установленной библиотеки. Удалили каждый из них и снова использовали 'python setup.py install '. – Codevalley

+0

nice, или inspect.getabsfile (somelib) – sunqiang

 Смежные вопросы

  • Нет связанных вопросов^_^