2015-10-16 3 views
0

Всякий раз, когда я устанавливаю свой проект python с помощью «установки python setup.py install» и вызывается мой проект на брандмауэре CentOS, он отлично работает. Зависимости решаются отлично.Ручная установка зависимостей python не работает. Зачем?

Однако, если я создаю rpm, используя fpm для моего проекта, установите rpm с помощью rpm -i rpm-file.rpm, вручную установите зависимости, используя 'pip install -r requirements-file-path.txt' а затем вызвать мой проект на другое бродячего поля CentOS, я получаю следующее сообщение об ошибке:

File "/usr/bin/<name-of-my-project>", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module> 
    working_set.require(__requires__) 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require 
    needed = self.resolve(parse_requirements(requirements)) 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve 
    raise DistributionNotFound(req) 
pkg_resources.DistributionNotFound: fabric==1.10.2 

Удаления зависимостей с помощью «пипа деинсталляции» и переустановки их не решить эту проблему. Что мне не хватает?

ответ

1

Только что нашел ответ на странице часто задаваемых вопросов: http://www.fabfile.org/faq.html/. Исполнение:

sudo pip install -U setuptools 

После этого повторная установка зависимостей и проекта позволила решить мою проблему. Но добро пожаловать в другие ответы.

+1

Вы должны ВСЕГДА использовать 'virtualenv' или' pyvenv', чтобы избежать такого рода вещей! Вы можете не думать об этом сейчас, но когда вам нужно сделать быстрое обновление, и вы понимаете, что в вашем старом приложении используется старая библиотека, которую вы только что обновили, и все сломалось. Ну, вы поймете хороший урок , Я говорю по опыту - создаю виртуальную среду! –

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