0

我正在尝试为我在绝地自动完成库上所做的一些工作运行带有 tox 的测试套件,并且得到以下结果:

ValueError: Plugin already registered: /home/aldo/Documents/Projects/jedi/test/conftest.py=<module 'test.conftest' from '/home/aldo/Documents/Projects/jedi/test/conftest.py'>

完整输出可在此处获得:

https://gist.github.com/Astrac/5abdba7db62ac204325e

这是 pytestdebug.log:

https://gist.github.com/Astrac/b5728dfeb22c0d2fb0f5

我尝试在我的主环境中使用 pip 运行 tox,并在干净的虚拟环境中运行它,获得相同的结果。我还尝试直接运行 py.test(从我的主环境和虚拟环境中),但结果是一样的。

另一方面,我知道它可以工作,因为我可以看到它在 travis 上运行:

https://travis-ci.org/davidhalter/jedi/jobs/5765531

任何帮助将不胜感激,谢谢!

4

2 回答 2

0

我也收到此错误消息。这是我第一次尝试制作setup.py或使用tox,所以我试图复制我看到的其他人的示例setup.py,因为官方文档在这个主题上对我的启发并不大。

我的破碎setup.py看起来像这样:

from setuptools import setup, find_packages

setup(
    name='foobarbaz',
    version='1.0',
    author="donald duck",
    author_email="foo@bar.baz.quux",
    package_dir={'': 'src'},
    packages=find_packages('src'),
    zip_safe=False,
)

事实证明,有一两个有问题的关键字参数。我删除了package_dirand packages,然后问题就消失了。所以这是工作版本:

from setuptools import setup

setup(
    name='foobarbaz',
    version='1.0',
    author="donald duck",
    author_email="foo@bar.baz.quux",
    zip_safe=False,
)

我不知道您的情况是否相似,或者您是否已经解决了这个问题,但我这对我有用。

于 2013-07-15T18:41:10.453 回答
0

对于那些通过谷歌到达这里的“插件已经注册”的人,我通过简单地清理我的环境解决了这个类似的问题。

具体来说:

  1. pip uninstall在我的包裹上运行,例如pip uninstall foo
  2. 删除通过将我的模块安装为可编辑创建的foo.egg-info/任何目录bar.egg-info/
  3. 重新安装 virtualenv 也可以。

根本原因是我将我的包从footo重命名bar,以可编辑模式 ( pip install -e foo) 安装并且没有清理伪影。

 setup(
-    name="foo",
+    name="bar",
于 2021-12-28T10:35:58.807 回答