Как установить новые пакеты для пирамиды без получения pkg_resources.DistributionNotFound: как только проект был создан

Я установил пирамиду и успешно создал проект, но когда я пытаюсь добавить новые пакеты к требованиям setup.py, они всегда дают мне ошибку pkg_resources.DistributionNotFound.

Пакеты установлены, и это происходит только в том случае, если я пытаюсь установить новые пакеты после запуска ./bin/python3.3 setup.py develop. Неважно, какие пакеты он есть.

Единственный способ, который я решил (на самом деле), – это создать новую виртуальную среду и установить пакеты до того, как я создам проект и запустим setup.py.

Очевидно, я делаю что-то неправильно. Есть ли что-нибудь, что мне нужно сделать рядом с пакетом, установить пакет? Это какая-то проблема? Я новичок в этом, поэтому ваша помощь будет очень оценена!

* Добавление процесса установки на случай, если кто-то случайно увидит что-то не так. Также включая мой файл wsgi.

Создано virtualenv easy_install-3.3 env

Активирует виртуальный source env/bin/activate

Установленная пирамида cd env ./bin/easy_install-3.3 pyramid

Создал проект ./bin/pcreate -s starter myprojectname

Ran setup.py cd myprojectname ../bin/python3.3 setup.py develop

На этом этапе я получаю следующую ошибку: pkg_resources.DistributionNotFound: waitress

Установленная официантка ../bin/easy_install-3.3 waitress

Ran setup.py еще раз (не уверен, что я должен это делать) ../bin/python3.3 setup.py develop

Все еще видите ошибку

Мой .wsgi файл содержит следующее (не уверен, что это важно для этого вопроса или нет): activate_this = "/home/account/env/bin/activate_this.py" execfile(activate_this,dict(__file__=activate_this))

import os import sys

path = '/home/account/env/lib/python3.3/site-packages'

if path not in sys.path: sys.path.append(path)

from pyramid.paster import get_app application = get_app('/home/account/env/myprojectname/production.ini', 'main')

2 Solutions collect form web for “Как установить новые пакеты для пирамиды без получения pkg_resources.DistributionNotFound: как только проект был создан”

pip и setup.py develop не должны смешиваться. Последний использует easy_install, который несовместим с pip в случае пакетов пространства имен (это пакеты, которые устанавливаются как подпакеты другого родителя, такие как zope.sqlalchemy, устанавливающие только часть .sqlalchemy полного пакета zope. *). Пакеты пространства имен вызовут проблемы между pip и easy_install. С другой стороны, большинство других пакетов будет отлично работать с любой системой, которую вы выберете, но лучше для вас быть последовательным.

Еще одна вещь, которую нужно проверить дважды, заключается в том, что вы фактически устанавливаете пакеты в свой virtualenv. Вы должны открыть python cli в своем виртуальном каталоге и импортировать пакет. Если вы не можете, значит, он, вероятно, не установлен.

Используя предложения Майкла выше, я смог решить его проблему. Мне даже не нужно было устанавливать какие-либо пакеты вручную. Как только все будет работать, если я добавлю требование к моему файлу setup.py (который создается при создании проекта пирамиды) и выполнил команду install -e pip. снова все было установлено отлично. Проблема была вызвана тем, как я устанавливал вещи. Вот мой последний процесс, если он помогает любым другим новичкам в пирамиде:

  1. Создал виртуальную среду virtualenv-3.3 env

  2. Активирует source env/bin/activate

  3. Перемещено в каталог среды cd env

  4. Установленная пирамида pip install pyramid

  5. Создал проект ./bin/pcreate -s starter myprojectname

  6. Перемещено в каталог проекта cd megaproject

  7. Ran install pip install -e .

  8. обновил мой wsgi-файл с настройками env и project

  9. перезагрузите приложение и прыгнули от радости, чтобы увидеть прекрасную страницу для пирамиды

  • добавлять файлы данных в проекты python setup.py
  • ИмпортError на подмодуль Cython
  • Как запустить py.test и linters в `python setup.py test`
  • Как убедить setuptools использовать временный каталог для пакетов, требующих от setup_require или tests_require?
  • Как создать колесо Pure-Python
  • установить права доступа к файлам в файле setup.py
  • прочитайте README в файле setup.py
  • Какой параметр мне нужен в setup.py для создания пакета в правильном каталоге?
  • Python - лучший язык программирования в мире.