branliu0 / heroku-buildpack-scipy

Custom Heroku buildpack for Python with NumPy and SciPy
MIT License
97 stars 68 forks source link

Recursive Requirements + merge with latest heroku-buildpack-python #5

Closed agilgur5 closed 9 years ago

agilgur5 commented 9 years ago

Merged with the latest heroku-buildpack-python for all the new features Heroku has implemented (including pip-grep). Used pip-grep to check files recursively (instead of just in the first requirements.txt file), but unfortunately this removes version checking (so far as I know), so now it just prints the required versions regardless.

branliu0 commented 9 years ago

Hi @agilgur5 -- thanks for your contribution. I've been meaning to pull in the latest commits from the main heroku Python buildpack.

However, I tried running your buildpack on a fresh Heroku instance, and it wasn't able to successfully detect that the requirements.txt had the right version of NumPy. See this part of the logs:

-----> Fetching custom git buildpack... done
-----> Python app detected
-----> Detected numpy/scipy in requirements.txt. Downloading prebuilt binaries.
-----> Downloading BLAS/LAPACK/ATLAS/Fortran binaries.
-----> This buildpack only supports NumPy 1.8.1
-----> This buildpack only supports SciPy 0.14.0
-----> Installing dependencies with pip
       Downloading/unpacking numpy==1.8.1 (from -r requirements.txt (line 1))
...

Could you please test it yourself and make sure it works for you?

branliu0 commented 9 years ago

I just pulled in the latest commits from the main Heroku Python buildpack. Please merge in the latest changes.

agilgur5 commented 9 years ago

Hey @thenovices, just merged with your branch (little changes since we both recently merged the latest Python buildpack). I can confirm that this works on one of my Heroku instances as part of the reason I contributed was so that I could better use it for one of my projects. As I mentioned in my request, pip-grep doesn't seem to have a way to check for version numbers, so I'm printing the "only supports" in all cases. Not great usability wise, but it is recursively going through requirements now.
The contribution was my pleasure, great job keeping this up to date so far!

branliu0 commented 9 years ago

But have you tried it on a clean instance? It might work on an existing instance where numpy and scipy are already installed.

Also, I'm working on same changes in a new branch (so you don't see them in master yet) that makes use of pip-grep. I've patched pip-grep to check versioning at a basic level, so that will be coming out soon.

I'm going to close this PR, because you should see the new changes including pip-grep coming out soon.

branliu0 commented 9 years ago

My commits that make use of pip-grep are in master now, so they should work for you! Let me know if you come across any issues.