Как снова использовать допускающее повторное использование приложение в Django

Я встретил ту же проблему. Выбранное решение мне очень помогло, но я считаю необходимым добавить точность, чтобы сделать функциональный код вопроса: определить лямбда-функцию вне цикла. Кстати, значение по умолчанию не требуется.

foo = lambda d: lambda : self.root.change_directory(d)
for d in directorys:
    self.command["cd " + d] = (foo(d))
19
задан Roland Tepp 17 February 2009 в 15:56
поделиться

1 ответ

В целом единственная вещь, требуемая использовать допускающее повторное использование приложение, состоит в том, чтобы удостовериться, что это находится на sys.path, так, чтобы можно было импортировать его из кода Python. В большинстве случаев (если автор применяет лучшую практику), допускающее повторное использование приложение tarball или пакет будут содержать каталог верхнего уровня с документами, README, setup.py, и затем подкаталог, содержащий реальное приложение (см. django-голосовать за пример; само приложение находится в "голосующем" подкаталоге). Этот подкаталог - то, какие потребности быть помещенным в Ваш Python соединяют каналом. Возможные методы для того, чтобы сделать, которые включают:

  • выполнение pip install appname, если приложение было загружено на PyPI (в эти дни большинство)
  • установка приложения с setup.py install (это имеет тот же результат как pip install appname, но требует, чтобы Вы сначала загрузили и распаковали код сами; зернышко сделает это для Вас)
  • вручную symlinking каталог кода к Вашему программному обеспечению использования каталога
  • пакетов сайта Python как virtualenv для создания "виртуальной среды Python", которая имеет ее каталог пакетов собственного сайта и затем выполнение setup.py install или pip install appname с этим virtualenv активный, или размещение или symlinking приложение в пакетах сайта virtualenv (настоятельно рекомендованный по всей "глобальной установке" опции, если Вы оцениваете свою будущую исправность)
  • размещение приложения в некотором каталоге, где Вы намереваетесь поместить различные приложения, и затем добавляя, что каталог к переменной среды PYTHONPATH

Вы будете знать, что у Вас есть он в правильном месте, если можно включить интерпретатор Python и "импорт, голосующий" (например), не получая ImportError.

На сервере, где у Вас есть доступ FTP только, Ваша единственная опция является действительно последней, и они должны настроить его для Вас. Если они утверждают, что поддерживали Django, они должны обеспечить приблизительно [1 110] место, где можно загрузить пакеты, и они будут доступны для импорта в Python. Не зная детали Вашего webhost, невозможно сказать, как они структурируют это для Вас.

26
ответ дан 30 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

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