cloudfoundry / python-buildpack

Cloud Foundry buildpack for the Python Language
http://docs.cloudfoundry.org/buildpacks/
Apache License 2.0
121 stars 279 forks source link

Can't seem to satisfy the numpy dependency even though it is downloaded in the vendor folder. #77

Closed Omnipresent closed 7 years ago

Omnipresent commented 7 years ago

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?

{
   "name": "",
   "build": "",
   "support": "https://support.pivotal.io",
   "version": 0,
   "description": "",
   "authorization_endpoint": "https://login.system.dev.east.paas.geointservices.io",
   "token_endpoint": "https://uaa.system.dev.east.paas.geointservices.io",
   "min_cli_version": "6.7.0",
   "min_recommended_cli_version": "6.11.2",
   "api_version": "2.65.0",
   "app_ssh_endpoint": "ssh.system.dev.east.paas.geointservices.io:2222",
   "app_ssh_host_key_fingerprint": "bf:ef:e4:e3:93:f9:b3:7b:7c:d0:17:b1:b3:a8:e6:b4",
   "app_ssh_oauth_client": "ssh-proxy",
   "routing_endpoint": "https://api.system.dev.east.paas.geointservices.io/routing",
   "logging_endpoint": "wss://loggregator.system.dev.east.paas.geointservices.io:4443",
   "doppler_logging_endpoint": "wss://doppler.system.dev.east.paas.geointservices.io:4443",
   "user": "41da4eea-a218-4203-939b-75e2279aad35"
}
cf version 6.22.1+6b7af9c-2016-09-24

What version of the buildpack you are using?

1.5.13

If you were attempting to accomplish a task, what was it you were attempting to do?

Attempting to push an application that has a vendor directory.

What did you expect to happen?

Successful completion of the push

What was the actual behavior?

Could not find a version that satisfies the requirement numpy (from -r requirements.txt (line 3)) (from versions: )

Please confirm where necessary:

My python application has a requirements.txt file that contains numpy. I will be deploying this application to airgapped PCF environment so I download the dependencies in advance to vendor folder in my application using pip install --download vendor -r requirements.txt. I run this pip command from within the cloudfoundry/cflinuxfs2 docker instance. Once the dependencies are downloaded I have various files in vendor folder and one of them is named numpy-1.13.0-cp27-cp27mu-manylinux1_x86_64.whl. However, when I try to cf push my application, I get error Could not find a version that satisfies the requirement numpy (from -r requirements.txt (line 3)) (from versions: ). Numpy is critical to our application and I assume it is critical to others as well. Is there a resolution to this?

cf-gitbot commented 7 years ago

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/148020609

The labels on this github issue will be updated when the story is started.

sclevine commented 7 years ago

Issue resolved over slack: https://cloudfoundry.slack.com/archives/C02HWMDUQ/p1498674712769270

Summary: The system Python 2.7 on linux is compiled for ucs-4. Old versions of the Python buildpack supply Python 2.7 compiled for ucs-2. The clue is the u in numpy-1.13.0-cp27-cp27mu-manylinux1_x86_64.whl.

raphaelschmitz commented 6 years ago

Hi @sclevine,

I have exactly the same issue. Many dependencies in the vendor folder. It looks like not all of them are uploaded. Python version on sap cf is python 2.7.14. The installation fails with:

No matching distribution found for hdbcli==2.3.14 (from -r /tmp/contents253433951/deps/0/requirements.txt (line 3)) pip install has failed. You have a vendor directory, it must contain all of your dependencies.

Do you have any idea? Thank you so much

Raphael

sclevine commented 6 years ago

@raphaelschmitz are you using the latest buildpack version (v1.6.14)?

pranjalc92 commented 5 years ago

@sclevine I have same problem as @raphaelschmitz .I am using build pack version 1.6.29