破碎的设置.py最小modu的实现

2024-05-12 18:04:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我分叉了nice模块multiscorer,并试图将其转换成一个可以在不同环境中安装的包。你知道吗

我的叉子可以找到here。我采取的步骤是

  • 创建一个新环境(使用conda)并激活它
  • python setup.py install来自fork的根目录
  • 在新终端中,激活环境并移动到某个任意位置。开始ipython并尝试from multiscorer import MultiScorer

我得到以下错误ImportError: cannot import name 'MultiScorer'。但是请注意,import multiscorer工作正常。要使用python setup.py install启用安装,我必须在代码中更改什么?你知道吗

另一次尝试:我试图用py_modules=['multiscorer.multiscorer']替换packages=['multiscorer']。没有帮助。。。你知道吗


Tags: 模块installpyimporthere环境setup叉子
2条回答

你的setup.py很好。问题是包的结构。现在导入Multiscorer类的正确方法是:from multiscorer.multiscorer import Multiscorer。第一个multiscorer用于同名文件夹(包),第二个multiscorer用于包内的multiscorer.py模块。你知道吗

The docs对于这样的小软件包,建议将所有代码放在__init__.py中。 如果您的代码库以后对于一个文件来说太大,您可以开始引入其他模块,并使用__init__.py在包级别公开类/函数。你知道吗

希望这有帮助。你知道吗

结果我试着导入错误的东西。以下是:from multiscorer.multiscorer import MultiScorer的工作原理。你知道吗

我现在想知道这是不是Python的方式。你知道吗

相关问题 更多 >