Comments (8)
I'll probably look at it early next week. (Note: feel free to ping me if I haven't done anything by wednesday :-) )
For downloading, we use buildout's standard zc.recipe.egg functionality. There was an earlier pull request (see https://github.com/rvanlaar/djangorecipe/pull/79/files), though, that fixed relative paths. That's an option from buildout that djangorecipe had to explicitly pass to zc.recipe.egg.
In the same way, we might need to explicitly pass along the 'newest=False' option. At least, that's the direction I'd be looking at.
btw, could you look which version of buildout and setuptools you're using? If 'newest=false' it could be anything :-) And they changed quite a lot in setuptools in the last months... Though I suspect it is djangorecipe I'll have to look at and not setuptools.
from djangorecipe.
I confirmed this problem on my Debian box now.
If I list my installed eggs, I find:
zc.recipe.egg-2.0.1-py2.7.egg/
zc.buildout-2.3.1-py2.7.egg/
The annoying bit is that one of my eggs in ${buildout:eggs}
uses numpy - as a result, it downloads and re-compiles it, what takes some time at new deployments.
from djangorecipe.
If the Debian numpy is good enough, Google for "syseggrecipe" :-)
On vrijdag, 6 maart at 7:36 p.m. André Anjos wrote:
I confirmed this problem on my Debian box now.
If I list my installed eggs, I find:
zc.recipe.egg-2.0.1-py2.7.egg/
zc.buildout-2.3.1-py2.7.egg/The annoying bit is that one of my eggs in
${buildout:eggs}
uses numpy - as a result, it downloads and re-compiles it, what takes some time at new deployments.
Reply to this email directly or view it on GitHub:
#88 (comment)
from djangorecipe.
I know of this one, but, why shouldn't "newest = false" work in this case?
from djangorecipe.
Actually, since zc.buildout gave up the "isolated python" ideas from the 1.x branch, syseggrecipe
should not be a required recipe anymore. If newest = false
is set, then zc.buildout
should just re-use packages existing on the "system" (i.e. the Python environment used to bootstrap), if possible (i.e., there are no other version requirements that conflict or require you to upgrade).
Or am I totally wrong here?
from djangorecipe.
You are at least partially wrong here :-)
You're right that buildout doesn't try to provide an isolated python. But The only packages buildout knows about are the packages it manages itself (in the local eggs/
cache folder or a global egg cache if you configured it). Buildout doesn't know about packages you installed system-wide.
So if you depend on numpy, buildout will install numpy for you.
The trick of syseggrecipe is that it does look for globally-installed packages. If found, it installs them as a development egg in development-eggs/
. Where buildout finds it, so that it doesn't need to download it again.
Question: the django that you expect buildout to re-use, is that a django you installed globally? "pip install django
"? Or is it a django from buildout's own egg cache?
from djangorecipe.
I understand, though this is unexpected: the python environment is not isolated but implicitly ignores installed eggs.
The egg I'm referring to is globally installed, clearly - therefore my confusion.
I think you can safely close this problem in this case.
from djangorecipe.
It is quite hard to reliably figure out everything that's installed globally. So many locations, so many different package name/directory name complications...
So buildout only explicitly manages what it can manage and what it explicitly knows about (=what it installed).
Anyway, good that it's clear now :-)
from djangorecipe.
Related Issues (20)
- Buildout is pulling package twice HOT 2
- In the django wsgi script, setup_environ is deprecated, should be replaced by os.environ['DJANGO_SETTINGS_MODULE'] HOT 4
- Update Documentation to newest Django version HOT 1
- Project generation HOT 4
- django 1.5: DeprecationWarning: The 'execute_manager' function is deprecated HOT 7
- Add templates for 1.4 and 1.5 for the startproject stuff HOT 2
- Allow custom path to wsgi application HOT 4
- Allow parameter for custom base source directory HOT 5
- How do I run the tests? HOT 3
- django-configurations support requires custom mange.py file HOT 2
- Rename deploy_script_extra to deploy-script-extra HOT 1
- Unable to deploy with recent Gunicorn HOT 11
- Bad assumptions with project and settings options HOT 2
- Deployment settings HOT 4
- Unable to generate project with bin/django startproject projectname HOT 2
- An internal error occurred due to a bug in either zc.buildout or in a recipe being used HOT 2
- djangorecipe cannot install django HOT 1
- uwsgi configuration hints to deploy django build with djangorecipe HOT 3
- Support for Python3 HOT 2
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 djangorecipe.