Comments (9)
(by mwhudson)
This is harder than I thought, because setup.py imports nevow and nevow/init.py imports nevow/_version.py which imports twisted.python.versions and pip doesn't seem to support setup_requires.
versiontools has a way of doing this sort of thing that doesn't require setup_requires: http://versiontools.readthedocs.org/en/latest/usage.html -- maybe Nevow could use that or something similar?
from nevow.
(by mithrandi)
I believe pip does support setup_requires, but your setup.py needs to be executable without those dependencies available for pip (or anything else) to actually run it to determine values such as setup_requires. I think the install-time import of nevow is kinda icky, so it would be nice to avoid this.
from nevow.
(by mithrandi)
aaaaand... this is apparently a dup of bug #812537.
from nevow.
(by mithrandi)
Okay actually, I take that back; the secondary issue you mentioned is bug #812537 but this one is a different issue so should be a different bug. Sorry for the noise.
from nevow.
(by nejucomo)
I've created a small patch ("Nevow-fix-import.patch.0") to setup.py which opens the nevow/_version.py file and parses out the version using a regular expression.
Note: This is currently blocking the ability to pip install allmydata-tahoe 1.10.0 - see https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2032
from nevow.
(by zooko)
Dear maintainers of Nevow: please apply this patch, or else write a comment here saying why not. Thank you!
from nevow.
(by exarkun)
Hello all.
I guess I have to respond to zooko's call to "maintainers of Nevow". I am still at least a Nevow user and I won't rule out the possibility of doing at least some Nevow development in the future (to scratch my own itches). That said, it also wouldn't bother me at all if everyone using Nevow switched to twisted.web.template (though I know it's not possible for everyone since the latter provides only a subset of the functionality of the former). I'm also part of the ~divmod-dev team (and thus have permission to push changes to trunk).
I have avoided commenting on this bug up to this point because I don't have any problems with the setup.py
currently included with Nevow. It installs properly in the environments where I need it to install (primarily user installs on Debian). I am a long way from understanding all of the complexity involved in the scenario described in this bug's summary. I don't know much about how virtualenv alters the Python runtime environment. I don't know much about how pip handles packages it is trying to install.
So as things stand, I am not likely to merge this change into Nevow trunk. It changes code that apparently has to interact with at least two systems I don't understand well. That code is untested and the change doesn't come with any tests. All taken together, that means it's not something I'm comfortable with. Since I also have no particular additional motivation (additional to "I like zooko and nejucomo and want their projects to succeed") to address these points, I will continue to remain hands-off on this issue.
Sorry I can't do more here. I hope one of the other committers is sufficiently interested to shepherd this change into trunk.
from nevow.
(by zooko)
Tristan Seligman said in comment #4 (https://bugs.launchpad.net/nevow/+bug/1091055/comments/4) that this was not a duplicate of https://bugs.launchpad.net/bugs/812537, but it seems to me that fixing 812537 would probably fix this. In any case, how about if we all (except for exarkun) go fix 812537 now, and then come back and see if this one is fixed?
from nevow.
Since Nevow now uses python-versioneer and since Nevow's setup.py no longer imports any part of Nevow and since travis-ci is using pip install
to set up an environment in which to run Nevow's tests (and this is working), I believe this issue is now resolved.
from nevow.
Related Issues (20)
- Python 3 compatibility? HOT 19
- Microsoft Edge 42.17134.1.0 breaks Divmod/Runtime/getAtrribute HOT 3
- IResource compatibility layer breaks on leaf resources with pre/postpath manipulation
- nevow.test.test_compression.RequestWrapperTests.test_contentLength fails against Twisted trunk@HEAD
- Flattening an attribute value fails to quote it satisfactorily HOT 4
- Remove Athena duplicate message log entry
- `connectionMade` is sometimes called too late HOT 1
- NevowRequest.received_headers / headers are deprecated and should be removed
- Put nevow.taglibrary.tabbedPane back
- Add some extra compatibility assistance in FakeRequest
- nevow.compression refers to deprecated header attributes
- Use towncrier for maintaining a changelog
- Nevow tests fail on Twisted 16.3
- Unable to get property 'length' of undefined or null reference
- `PageWidget.action_respond` is sometimes invoked with a nonexistent response identifier
- SVG wrong mimetype text/html instead of 'image/svg+xml'
- Nevow 0.14.1 release
- Remove widget initialization log messages
- Nevow uses now-removed FilePath.getmtime(), causes exception HOT 4
- Athena client-side timeout
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nevow.