Вопросы о Setuptools и альтернативах

Поведение Database.SqlQuery с типами сущностей или без них подробно описано в :

Создает необработанный SQL-запрос, который будет возвращать элементы данного типа. Тип может быть любым типом, свойства которого соответствуют именам столбцов, возвращаемых запросом, или простым типом примитива. Тип не обязательно должен быть типом сущности. Результаты этого запроса никогда не отслеживаются контекстом, даже если тип возвращаемого объекта является типом сущности.

blockquote>

И все же , несколько странное поведение с не отображенными свойствами не упоминается. Что это за бег ...

_context.Database.SqlQuery($"exec {storedProcedureName}")

... не заполняет неотображенные свойства, когда T является сопоставленным типом сущности. Это происходит, когда используется любой другой тип, который содержит соответствующие свойства. Я думаю, что это немного странно, и я даже подозреваю, что это непреднамеренное поведение.

Таким образом, вы не можете использовать Center в качестве типа приема, но вы можете использовать не отображенный тип, непосредственно наследующий от Center.

21
задан Jeremy Cantrell 15 December 2008 в 15:06
поделиться

2 ответа

победите использует Setuptools и не требует никаких изменений в пакетах. Это на самом деле устанавливает пакеты с Setuptools, с помощью:

python -c 'import setuptools; __file__="setup.py"; execfile(__file__)' \
    install \
    --single-version-externally-managed

Поскольку это использует ту опцию (--single-version-externally-managed) это никогда не устанавливает яйца как zip-файлы, не поддерживает несколько одновременно установленных версий программного обеспечения, и пакеты установлены плоские (как python setup.py install работы, если Вы используете только distutils). Метаданные яйца все еще установлены. победите также, как easy_install, загрузки и установите все требования пакета.

Кроме того, можно также использовать файл требований для добавления других пакетов, которые должны быть установлены в пакете, и сделать требования версии более точными (не вставляя те строгие требования Ваш setup.py файлы). Но если бы Вы не делаете файлы требований затем, Вы использовали бы его точно так же, как easy_install.

Для Вашего install_requires Я не рекомендую изменений, если Вы не пытались создать очень строгие требования там, которые, как известно, хороши. Я думаю, что существует предел тому, насколько точный можно полезно быть в setup.py файлы о версиях, потому что Вы не можете действительно знать то, на что будущая совместимость новых библиотек будет похожа, и я не рекомендую попытаться предсказать это. Файлы требования являются альтернативным местом для разметки консервативных требований версии.

Можно все еще использовать python setup.py develop, и на самом деле если Вы делаете pip install -e svn+http://mysite/svn/Project/trunk#egg=Project это проверит это (в src/project) и выполненный setup.py develop на нем. Так, чтобы рабочий процесс несколько не отличался действительно.

Если Вы выполняете зернышко verbosely (как pip install -vv) Вы будете видеть много команд, которые выполняются, и Вы, вероятно, распознаете большинство из них.

25
ответ дан 29 November 2019 в 21:24
поделиться

Для начала, зернышко является действительно новым. Новый, неполный и в основном непротестированный в реальном мире.

Это показывает большое обещание, но до тех пор, пока это может сделать все, что может сделать easy_install/setuptools, это вряд ли завоюет популярность в значительной степени, конечно, не в корпорации.

Easy_install/setuptools является большим и сложным - и это оскорбляет много людей. К сожалению, существует действительно серьезное основание для той сложности, которая является, что это обслуживает огромное количество различных примеров использования. Мое собственное поддерживает большое (> 300) объединение настольных пользователей плюс подобная размерная сетка с часто обновляемым приложением. Понятие, что мы могли сделать это, позволив каждому пользователю установить из источника, смехотворно - яйца оказались надежный способ распределить мой проект.

Мой совет: Учитесь использовать setuptools - это - действительно замечательная вещь. Большинство людей, которые ненавидят его, не понимает это или просто не имеет примера использования для как полнофункциональная система распределения.

:-)

2
ответ дан 29 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: