我正在阅读以下关于制作python包的教程。
https://www.tutorialsteacher.com/python/python-package
我准备了本页所描述的一切,最后提到的安装工作。
但是非常令人困惑的是,当将文件夹从mypackage重命名为abc并将setup.py中包含mypackage的行更改为abc时。当我尝试使用pip3 install abc
安装时,我得到以下错误Python致命错误:init_sys_streams: can't initialize sys standard streams回溯(最近一次调用):文件"/home/…/anaconda3/lib/python3.7/io.py",第72行,在模块'abc'没有'ABCMeta'属性Aborted (core dump)
当名称更改为powerspectrum时,我得到以下错误:
错误:无法找到满足功率谱要求的版本(来自versions: none)错误:未找到功率谱匹配分布。
但是如果我使用作为包名,powerspec一切都像教程中描述的那样工作。但不知何故,我错过了一些东西。是否有受保护的名称,或者是否有选择包名称的规则?或者还有什么与误差相关的?
abc
是Python自己定义的模块(代表抽象基类)。ABCMeta
是这个模块的一部分。您显然不能使用这个已定义的名称作为包名。