Как я могу протестировать свой модуль Python, не устанавливая его - PullRequest
9 голосов
/ 15 апреля 2011

Я нахожусь в процессе реорганизации / рефакторинга моего пакета Python для квантовой химии (pyquante).Одна из вещей, которые мне не нравятся в существующем выпуске, это то, что мне нужно установить пакет, чтобы запустить набор тестов.То есть в тестовом наборе есть операторы типа from PyQuante import SCF, и, конечно, этот PyQuante может ссылаться на установленную версию или локальную версию.

Я знаю о virtualenv и понимаю, что это вариант для меня,Но мне было интересно, подойдет ли что-нибудь еще.В прошлом я взламывал sys.path за подобные вещи, и лучшие программисты Python говорили мне, что я никогда не должен этого делать.

У кого-нибудь есть какие-либо предложения о том, как я могу это сделать?Дело в том, что я хочу протестировать текущую версию кода без его установки.

Заранее благодарим всех, кто может видеть мою болтовню и предлагать предложения!

Ответы [ 3 ]

18 голосов
/ 15 апреля 2011

Создайте подходящий пакет для ваших вещей и используйте

python setup.py develop

, чтобы сделать его подходящим dev-пакетом.

См .:

4 голосов
/ 15 апреля 2011

Честно говоря, я бы настаивал на использовании virtualenv , предназначенном именно для этой цели. очень небольшие накладные расходы, и если вы когда-нибудь испортите, просто удалите каталог. Я уверен, что по мере вашего роста, все будет не так просто, как сейчас для вашей текущей ситуации. Воспользуйтесь возможностью учиться.

2 голосов
/ 15 апреля 2011

Изменение sys.path в производственной среде может быть неразумным. Изменение его для тестирования обычно в порядке.

Если вы не хотите возиться с переменной из sys, используйте переменную среды с именем PYTHONPATH, это чистый и документированный способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...