我正在开发一个需要sh
. Windows 不支持此软件包。sh
对于 Windows,我使用从 , 派生的旧包pbs
,并将其重命名为sh
我的命名空间。
如何创建setup.py
可以正确安装pbs
在 Windows 和sh
其他平台上的软件?
编辑:经过一些研究,事实证明我的问题是针对新车轮格式的,正如我的回答所反映的那样。如果我无法弄清楚轮子应该如何工作,我将来会问一个不同的问题。
是的!只需将您的代码放在 sys.platform 变量的条件块中,例如:
import sys
if (sys.platform=='win32'):
import somewindowsmodule
elif (sys.platform=='macOSX'):
import somemacmodule
elif (sys.platform=='linux'):
import somelinuxmodule
我不确定 mac 或 linux 的平台字符串是什么,但你可以弄清楚,我敢肯定。此外,为了保护无辜者,某些模块名称都是虚构的。:)
好的,事实证明我原来的解决方案是正确的:
# setup.py
...
setup(
...
install_requires=["pbs" if os.name == 'nt' else "sh"]
...
)
最近发生这种情况的原因是由于发布了新的车轮格式。我的理解是,这种新格式不会setup.py
随您的包一起提供,而是使用其他方式处理依赖项。
在我了解如何交付具有条件依赖关系的轮子之前,我不会为这个项目生产轮子。