Всякий раз, когда я устанавливаю свой проект 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
Удаления зависимостей с помощью «пипа деинсталляции» и переустановки их не решить эту проблему. Что мне не хватает?
Вы должны ВСЕГДА использовать 'virtualenv' или' pyvenv', чтобы избежать такого рода вещей! Вы можете не думать об этом сейчас, но когда вам нужно сделать быстрое обновление, и вы понимаете, что в вашем старом приложении используется старая библиотека, которую вы только что обновили, и все сломалось. Ну, вы поймете хороший урок , Я говорю по опыту - создаю виртуальную среду! –