[英]Install local extras in Python
我的 package X 的 setup.py 使用 setuptools 通過extras_require
參數選擇性地安裝額外的 package Y。
現在 package Y 從 PyPi 上消失了,據我所知,從可見的互聯網上消失了。 easy_install X[Y]
失敗並error: Could not find suitable distribution for Y
。
但是,我仍然有 Y 的 tarball 的本地副本。 Y 是純 Python package。
修改 setup.py 以允許此(本地?)可選額外的最佳方法是什么?
編輯:修復是暫時的,直到我找到合適的替代品。 我不想自己開始正式維護 Y :)
您可以將setuptools.Command
子類化,然后重載默認install
命令。 然后你可以讓 THAT 執行一個安裝依賴項的子進程。 這是一個黑客,但這就是你所要求的!
在 setup.py 中:
from setuptools import Command
class MyInstallCommand(Command):
# Overload the 'install' command to do default install but also install
# your provided tarball. Blah blah blah read the docs on what to do here.
setup(
name='mypackage',
# etc ... and then...
# Overload the 'install' command
cmdclass={
'install': MyInstallCommand,
}
)
我把它過分簡單化了,但這是基本要點。
我通過 setuptools 的dependency_links
選項找到了一個快速的解決方法。
http://URL_Y
。dependency_links = ['http://URL_Y'],
。 現在easy_install X[Y]
工作,我不必在任何地方注冊 Y。 一旦我有適當的修復,我會從 URL_Y 中刪除它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.