Я постараюсь быть прямо здесь:
Я программист Ruby, начиная с Python, и я пробую кое-что со Scrapy. Я просматриваю код, полученный моей компанией от третьей стороны, и одна вещь нарушает развертывание моего Scrapyd (в облаке):
ImportError: no module named mock
Я установил локально, он есть в моем файле requirements.txt, но он ломается вверх по течению, в процессе развертывания. Если быть точным, это единственное место, где я нашел ссылку на макет производственного кода:
def parse(self, response):
...
with mock.patch('lxml.html', lxml.html):
article.parse()
...
Может ли кто-нибудь увидеть свет в конце этого туннеля? Кто-нибудь знает, зачем использовать этот макет в производственном коде (и что он должен делать?)
Спасибо =]
РЕДАКТИРОВАТЬ 1: Может быть, мне следует кое-что прояснить: в их интерфейсе Scrapyd у них есть место, где разработчик может загружать «яйца Python». Я не уверен, что это такое (звучит как Gemfile или... пакет модулей, который должен быть импортирован сервером), но я запустил python setup.py bdist_egg
, чтобы сгенерировать это яйцо, я полагаю, оно включает в себя все зависимости (настройка .py немного сбивает с толку новичков в Python). Короче говоря: я запустил эту команду и загрузил ее в интерфейс Scrapyd сервера. Итак, у меня нет доступа к apt-get или даже ssh к машине Scrapyd.
EDIT 2: у меня нет доступа к apt-get на сервере, это обычный сервер Scrapyd. Ответ, который называется «дублировать» на этот, не отвечает на мой вопрос.
import mock
. - person Thyago B. Rodrigues   schedule 08.04.2015python setup.py bdist_egg
? Его следует запустить в исходном каталогеmock
, чтобы сгенерировать яйцоmock
для загрузки. - person bosnjak   schedule 08.04.2015mock
, а затем загрузить это яйцо для использования. Я добавлю более подробную информацию в ответ. - person bosnjak   schedule 08.04.2015