Comments (7)
zest.releaser requires setuptools in its setup.py. My assumption is that you have setuptools installed globally (else, how did you install zest.releaser?) OR that you installed it into some virtualenv or buildout. In both cases, I'd expect setuptools to be available when using sys.executable.
But apparently I'm mistaken! It could very well be that it works just fine with virtualenv (which seems to be having a harder link to its own custom local python than buildout).
Do you have any idea how we could solve this?
from zest.releaser.
The fullrelease
entry point in buildout bin/
directory look like this (I’ve removed all other dependencies):
#!/usr/bin/python2.7
import sys
sys.path[0:0] = [
'/home/xxxxx/.buildout/eggs/zest.releaser-3.37-py2.7.egg',
'/home/xxxxx/.buildout/eggs/distribute-0.6.28-py2.7.egg',
]
import zest.releaser.fullrelease
if __name__ == '__main__':
zest.releaser.fullrelease.main()
So with sys.executable
you get the right python binary but lost the paths.
I agree with you that a pythonist machine without setuptools installed is quite rare :)
But we got the case.
I've not tried it but a solution could be to update PYTHONPATH
environment variable with paths from sys.path
. That's seems possible with http://docs.python.org/library/os.html#os.putenv but looks tricky.
from zest.releaser.
I'm also bitten by this
- barebones python without setuptools (deliberate)
- buildout pulls in its own setuptools to avoid conflicts between buildouts regarding setuptools-versions
- zest-releaser installed in a separate virtualenv of buildout
updating PYTHONPATH and appending the path to zestreleaser's setuptools-path seems OK
from zest.releaser.
A few years ago I gave this a shot in the maurits-add-syspath branch, basically changing the setup.py
calls to: PYTHONPATH=...... python setup.py
. I think it did not seem needed then, or it looked to dangerous/crazy.
Let's try it again, in basically the same way. See branch maurits-issue-24.
from zest.releaser.
BTW, a workaround for the user would be to create a virtualenv or buildout or whatever with a setuptools installed and add the directory containing that python executable to the path when calling fullrelease or release:
PATH=/path/to/working/python/bin:$PATH fullrelease
If you make this a small bash script or an alias and give that the name fullrelease
, all should work fine without you needing to remember to add that PATH.
from zest.releaser.
I just released 3.51 with the fix by @mauritsvanrees . @woutervh, could you try that one?
(If it is still a problem, re-open the ticket :-) )
from zest.releaser.
Confirmed that the fix is working.
from zest.releaser.
Related Issues (20)
- Check version for PEP440 HOT 3
- bumprelease functionality HOT 6
- zest.releaser with plone.releaser breaks when not in a buildout.coredev environment HOT 3
- Failed git push does not fail release HOT 6
- Possibility to add prefix to commit messages HOT 6
- ValueError: binary mode doesn't take an encoding argument HOT 9
- fullrelease: error: no such option: --no-input HOT 8
- sdist is missing tox.ini HOT 1
- tests fails with non-GNU ls HOT 4
- testing: the following arguments are required: message HOT 1
- testing: bumpversion and postrelease tests fails HOT 3
- Always create wheels, when possible HOT 2
- Warn/ask to verify for deprecation notices when making a major release HOT 4
- get_last_tag can fail with recent setuptools HOT 1
- Use build to generate wheels and sdists HOT 7
- Read zest.releaser settings from pyproject.toml HOT 3
- Issue during our dependency-check analysis because of tests/pyproject.toml file HOT 1
- Upload to PyPI fails HOT 6
- readthedocs documentation isn't being build anymore HOT 2
- Issues when trying 'build' HOT 7
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 zest.releaser.