Installed distribution Twisted 12.2.0 [for example] conflicts with requirement twisted>=13.0 of nevow 0.11.1 #2249
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#2249
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
python setup.py build generates the following error message:
running update_version
no version-control data found, leaving _version.py alone
running develop
Not found: tahoe-deps
Not found: ../tahoe-deps
running egg_info
writing requirements to src/allmydata_tahoe.egg-info/requires.txt
writing src/allmydata_tahoe.egg-info/PKG-INFO
writing top-level names to src/allmydata_tahoe.egg-info/top_level.txt
writing dependency_links to src/allmydata_tahoe.egg-info/dependency_links.txt
writing entry points to src/allmydata_tahoe.egg-info/entry_points.txt
package init file 'src/allmydata/web/static/init.py' not found (or not a regular file)
package init file 'src/allmydata/web/static/css/init.py' not found (or not a regular file)
reading manifest file 'src/allmydata_tahoe.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching '*~' found anywhere in distribution
writing manifest file 'src/allmydata_tahoe.egg-info/SOURCES.txt'
running build_ext
Processing setuptools-0.6c16dev4.egg
removing '/Users/redacted/Downloads/allmydata-tahoe-1.10.0/support/lib/python2.7/site-packages/setuptools-0.6c16dev4.egg' (and everything under it)
Copying setuptools-0.6c16dev4.egg to /Users/redacted/Downloads/allmydata-tahoe-1.10.0/support/lib/python2.7/site-packages
setuptools 0.6c16dev4 is already the active version in easy-install.pth
Installing easy_install_z-2.6 script to support/bin
Installing easy_install_z script to support/bin
Installed /Users/redacted/Downloads/allmydata-tahoe-1.10.0/support/lib/python2.7/site-packages/setuptools-0.6c16dev4.egg
Creating /Users/redacted/Downloads/allmydata-tahoe-1.10.0/support/lib/python2.7/site-packages/allmydata-tahoe.egg-link (link to src)
allmydata-tahoe 1.10.0 is already the active version in easy-install.pth
Installing tahoe script to support/bin
Installed /Users/redacted/Downloads/allmydata-tahoe-1.10.0/src
Processing dependencies for allmydata-tahoe==1.10.0
error: Installed distribution Twisted 12.2.0 conflicts with requirement twisted>=13.0
This interacts with https://github.com/twisted/nevow/issues/43 (why does Nevow depend on Twisted >= 13.0?).
We could work around this by declaring our dependency on Nevow to require a version before https://github.com/twisted/nevow/commit/0eb20bb508c220b38251b7217b842015037ca5dd (i.e. up to and including 0.11).
OSX: Installed distribution Twisted 12.2.0 conflicts with requirement twisted>=13.0to OSX: Installed distribution Twisted 12.2.0 conflicts with requirement twisted>=13.0 of nevow 0.11.1Well, it sounds from exarkun's response to https://github.com/twisted/nevow/issues/43 that the Twisted project has a different, and stricter, interpretation of versioning requirements for dependencies than we do. That's unfortunate, especially since it is effectively a regression of Nevow 0.11.1 relative to previous versions.
I don't understand why an installed Twisted 12.2.0 should conflict with a requirement Twisted >= 13.0. Isn't that supposed to result in us building and using Twisted >= 13.0 under the
support
directory?Hmm, #2255 would probably solve this problem (because there wouldn't be an installed Twisted in the virtualenv).
#2265 was a duplicate:
This confirms that the problem is not specific to OS X.
OSX: Installed distribution Twisted 12.2.0 conflicts with requirement twisted>=13.0 of nevow 0.11.1to Installed distribution Twisted 12.2.0 [for example] conflicts with requirement twisted>=13.0 of nevow 0.11.1Here is a reproducible procedure to trigger this issue. We should make this an automated packaging test on all platforms!
First, just the commands:
And here's the full commands and output on my system:
Replying to daira:
I, too, wonder about this. Is this a setuptools or pip bug? Is it only triggered by tahoe-lafs being too clever?
I'll bet that removing the
setup_requires
, as mentioned in comment:93126 and comment:93320, would fix this ticket.Replying to zooko:
I'll test that now.
Replying to [nejucomo]comment:11:
I just tested that against https://github.com/nejucomo/tahoe-lafs/compare/2249_test_removal_of_all_of_setup_requires
Unfortunately I get the same error. Here's a full reproduction from scratch:
I see that Tahoe-LAFS specifies
Twisted >= 11.0.0
(see https://github.com/tahoe-lafs/tahoe-lafs/blob/master/src/allmydata/_auto_deps.py#L32).Why doesn't the
./setup.py test
process see the latest version of twisted (say14.something
) and decide that meets the constraint>= 11.0.0
and install that?The combination of this problem, #2028, and #2193, are making it almost impossible to install or build on Windows :-(
Warner just asked if
./setup.py build
exhibits the same behavior and it does.Here are the relevant commands I just ran:
And here is the full log:
This affects me on a debian system, so I added that keyword.
See also #2291.
Please everyone who had this bug on their system, retry with the 2249-windows-dep-workaround-1 branch.
Assigning to warner to look over https://github.com/tahoe-lafs/tahoe-lafs/pull/113.
zooko: please review
https://github.com/tahoe-lafs/tahoe-lafs/pull/115https://github.com/tahoe-lafs/tahoe-lafs/pull/118
I had a question about whether to use
pkg_resources.require('pyOpenSSL')
orimport OpenSSL; OpenSSL.*version*
. The latter has a side-effect of importing some version of pyOpenSSL and adding it intosys.modules
, which may corrupt the subsequent attempts to acquire, build, install a possibly different version ofpyOpenSSL
. But Daira says that the former is buggy and gives incorrect answers.Replying to zooko:
Is there a more complete explanation of the bug (or a ticket link)?
On
2249-windows-dep-workaround-5
atdff955a46a28bd6c1da438e0e6d45e3c0e3503aa
I see this problem:Replying to [nejucomo]comment:23:
https://github.com/tahoe-lafs/tahoe-lafs/commit/18ffc29f4949b6098b8b89e6e89c89923121cda2#diff-5ee81f2da4acf63360ba9a2b78ec0a40R157
Daira noticed that I have multiple eggs:
(-and
make clean
doesn't address this issue.)Daira is going to attempt to modify
setup.py
to be more strict on this branch to handle this edge case I've hit.Replying to nejucomo:
This is because
setuptools-0.6c16dev4.egg
got added tosys.path
rather thansetuptools-0.6c16dev5.egg
. (I don't actually know why that should produce the quoted error, but it does.) I added another commit that should fix this problem even whensetuptools-0.6c16dev4.egg
is not deleted.In /tahoe-lafs/trac-2024-07-25/commit/b0b76a7c5b89c3fed5a65ef6732dc45e578f12f4:
Fixed by ec188d254cbb77204d1898d6a0dd8727e0f9bd6d/trunk.