Я пытаюсь получить библиотеки Python для Reddit, установленные на моем Mac. Я хочу запускать их с помощью PyCharm для разработки, поскольку мне это нравится как среда разработки Python.Разрешение конфликта версий пакета Python в Reddit install
Я запускаю серверы Cassandra, Memcached, RabbitMQ и Postgres внутри экземпляра Virtual Box, доступный через адаптер Virtual Box Host-only. Это работает, так как я могу запустить Reddit в Virtual Box и получить доступ к нему с моего Mac просто отлично.
При запуске скрипта paster, чтобы узнать, работает ли исходная установка Reddit Python на компьютере Mac. Я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "/Users/inflector/software/new-day/reddit/dev/bin/paster", line 8, in <module>
load_entry_point('PasteScript==1.7.5', 'console_scripts', 'paster')()
File "/Users/inflector/software/new-day/reddit/dev/lib/python2.7/site-packages/paste/script/command.py", line 93, in run
commands = get_commands()
File "/Users/inflector/software/new-day/reddit/dev/lib/python2.7/site-packages/paste/script/command.py", line 135, in get_commands
plugins = pluginlib.resolve_plugins(plugins)
File "/Users/inflector/software/new-day/reddit/dev/lib/python2.7/site-packages/paste/script/pluginlib.py", line 82, in resolve_plugins
pkg_resources.require(plugin)
File "build/bdist.linux-i686/egg/pkg_resources.py", line 666, in require
File "build/bdist.linux-i686/egg/pkg_resources.py", line 569, in resolve
pkg_resources.VersionConflict: (WebOb 1.2.3 (/Users/inflector/software/new-day/reddit/dev/lib/python2.7/site-packages), Requirement.parse('webob==1.0.8'))
Если я понижаем установку на WebOb 1.0.8, я получаю обратное, он хочет "WebOb> = 1,2.
«пип» список показывает установки этих пакетов:
amqplib (1.0.2)
Babel (0.9.6)
bcrypt (1.0.2)
Beaker (1.6.4)
BeautifulSoup (3.2.1)
beautifulsoup4 (4.2.1)
boto (2.9.5)
cffi (0.6)
chardet (2.1.1)
crypto (1.1.0)
cssutils (0.9.5.1)
Cython (0.19.1)
decorator (3.4.0)
FormEncode (1.2.6)
kazoo (1.1)
l2cs (2.0.2)
lxml (3.2.1)
Mako (0.8.1)
MarkupSafe (0.18)
nose (1.3.0)
Paste (1.7.5.1)
PasteDeploy (1.5.0)
PasteScript (1.7.5)
PIL (1.1.7)
psycopg2 (2.5)
py-bcrypt (0.3)
pyasn1 (0.1.7)
PyCAPTCHA (0.4)
pycassa (1.9.0)
pycountry (0.14.8)
pycparser (2.09.1)
pycrypto (2.6)
Pygments (1.6)
pylibmc (1.2.3)
Pylons (0.9.7)
pytz (2013b)
repoze.lru (0.6)
requests (1.2.3)
Routes (1.11)
rsa (3.1.1)
simplejson (3.3.0)
six (1.3.0)
snudown (1.1.5)
SQLAlchemy (0.7.4)
stripe (1.9.1)
Tempita (0.5.1)
thrift (0.9.0)
waitress (0.8.5)
WebError (0.10.3)
WebHelpers (1.3)
WebOb (1.2.3)
WebTest (2.0.6)
Whoosh (2.4.1)
wsgiref (0.1.2)
zope.interface (4.0.5)
Моя гипотеза состоит в том, что по крайней мере один из этих пакетов требует WebOb == 1.0.8 и по меньшей мере один другой требует WebOb> = 1.2
Я установил virtualenv для установки Reddit и установил его с опцией -no-site-packages, так что я имею дело только с пакетами, которые мне нужны для Reddit. Я вручную установил все, что мне нужно. Так что это фактически минимальный набор пакетов. Мне нужен каждый из них, но, возможно, не все из них являются правильными версиями. Установщик Reddit не указывает версии для каждого пакета, только некоторые из них.
Итак, как мне отслеживать эти зависимости? Как получить список требований для каждого пакета, установленного в virtualenv?
И где находится файл: «build/bdist.linux-i686/egg/pkg_resources.py»? Я не могу найти его нигде в моей системе. И Mac не является Linux, поэтому это кажется странным.
Я очень опытный программист, C++, Java, Object Pascal, Objective C и т. Д., Но не эксперт Python. Таким образом, система пакетов Python для меня слишком большая. Я могу использовать pip и запускать скрипты setup.py, но я их еще не убегаю.