简体   繁体   中英

TypeError: detect_vcs() missing 1 required positional argument: 'ui' when running `devpi upload --formats bdist_wheel`

username@machinename:~/$ devpi upload --formats bdist_wheel
Traceback (most recent call last):
  File "/opt/python3.6/bin/devpi", line 11, in <module>
    sys.exit(main())
  File "/opt/python3.6/lib/python3.6/site-packages/devpi/main.py", line 32, in main
    return method(hub, hub.args)
  File "/opt/python3.6/lib/python3.6/site-packages/devpi/upload.py", line 33, in main
    setupdir_only=setupcfg.get("setupdir-only"))
  File "/opt/python3.6/lib/python3.6/site-packages/devpi/upload.py", line 281, in __init__
    hasvcs = check_manifest.detect_vcs().metadata_name
TypeError: detect_vcs() missing 1 required positional argument: 'ui'

My versions are:

devpi-client==5.1.0
devpi-common==3.4.0

How can I solve this? I tried upgrading/downgrading devpi-client to 4.4.0 and to 5.1.1 but it still gives me the same error.

This is due to an incompatibility between the 2 packages check_manifest and devpi . Since check_manifest==0.42 , the detect_vcs function takes a required argument ui and devpi does not give it in the version you have ( hasvcs = check_manifest.detect_vcs().metadata_name )

There are 2 solutions to your problem:

  1. Downgrade check_manifest to 0.41 .

  2. Upgrade devpi-client to a version >= 5.2.0. (since the fix has been introduced for devpi-client==5.2.0 ( https://github.com/devpi/devpi/commit/f40e0f51b610325d807367206cced90ed1fa005d )

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM