Howdy Kenneth,

On 07/11/2018 03:59 PM, Kenneth Hoste wrote:
Hi Jack,

On 11/07/2018 20:04, Jack Perdue wrote:
Howdy Kenneth,

For example, I'm trying to build IPython and as
a Bundle with extensions trying to fetch files from:

  https://files.pythonhosted.org/packages/source/i/ipython/

which doesn't exist.

That's not what I'm seeing with the just released EasyBuild v3.6.2 (this behavior hasn't changed compared to EasyBuild v3.6.1).

Here's a relevant bit from the EasyBuild log that shows it's downloading directly from https://pypi.python.org/packages (not via https://files.pythonhosted.org/packages).

== 2018-07-11 22:53:46,457 filetools.py:471 INFO Downloaded file ipython_urls.html from url https://pypi.python.org/simple/ipython to /Users/kehoste/work/TMP/eb-_E1vS6/tmppmy5pk/ipython_urls.html == 2018-07-11 22:53:46,457 filetools.py:491 INFO Successful download of file ipython_urls.html from url https://pypi.python.org/simple/ipython to path /Users/kehoste/work/TMP/eb-_E1vS6/tmppmy5pk/ipython_urls.html == 2018-07-11 22:53:51,753 filetools.py:471 INFO Downloaded file ipython-6.2.1.tar.gz from url https://pypi.python.org/packages/fa/50/974211502bd72873728d44c3013fe79875c819c8fb69f778bcfd67bc7d38/ipython-6.2.1.tar.gz to /tmp/i/IPython/extensions/ipython-6.2.1.tar.gz == 2018-07-11 22:53:51,753 filetools.py:491 INFO Successful download of file ipython-6.2.1.tar.gz from url https://pypi.python.org/packages/fa/50/974211502bd72873728d44c3013fe79875c819c8fb69f778bcfd67bc7d38/ipython-6.2.1.tar.gz to path /tmp/i/IPython/extensions/ipython-6.2.1.tar.gz == 2018-07-11 22:53:51,753 easyblock.py:730 INFO Successfully downloaded source file ipython-6.2.1.tar.gz from https://pypi.python.org/packages/fa/50/974211502bd72873728d44c3013fe79875c819c8fb69f778bcfd67bc7d38/ipython-6.2.1.tar.gz

That's not what I am seeing here.  I have:

    ('ipython', version, {
        'source_urls': [PYPI_LOWER_SOURCE],
        'modulename': 'IPython',
        'checksums': [
'eca537aa61592aca2fef4adea12af8e42f5c335004dfa80c78caf80e8b525e5c', # ipython-6.4.tar.gz
        ],
    }),

and this is in the log:

== 2018-07-12 13:22:45,782 filetools.py:444 DEBUG Trying to download %(namelower)s_urls.html from https://pypi.python.org/simple/%(namelower)s to /tmp/j-perdue/tmp/eb-3gbeni/tmpHM8L22/%(namelower)s_urls.html == 2018-07-12 13:22:45,782 filetools.py:451 DEBUG Using timeout of 10 seconds for initiating download == 2018-07-12 13:22:45,782 filetools.py:1136 DEBUG Not creating existing path /tmp/j-perdue/tmp/eb-3gbeni/tmpHM8L22 == 2018-07-12 13:22:45,917 filetools.py:476 WARNING URL https://pypi.python.org/simple/%(namelower)s was not found (HTTP response code 400), not trying again == 2018-07-12 13:22:45,917 filetools.py:494 WARNING Download of https://pypi.python.org/simple/%(namelower)s to /tmp/j-perdue/tmp/eb-3gbeni/tmpHM8L22/%(namelower)s_urls.html failed, done trying == 2018-07-12 13:22:45,918 filetools.py:400 DEBUG Failed to download https://pypi.python.org/simple/%(namelower)s to determine available PyPI URLs for %(namelower)s == 2018-07-12 13:22:45,918 filetools.py:436 DEBUG Failed to extract hash using pattern '.*/ipython-6\.4\.tar\.gz(?:#md5=[a-f0-9]{32}|#sha256=[a-f0-9]{64})$' from list of URLs: [] == 2018-07-12 13:22:45,918 easyblock.py:707 DEBUG Failed to derive alternate PyPI URL for https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s/ipython-6.4.tar.gz, so retaining the original == 2018-07-12 13:22:45,918 easyblock.py:717 DEBUG Trying to download file ipython-6.4.tar.gz from https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s/ipython-6.4.tar.gz to /sw/eb/sources/i/IPython/extensions/ipython-6.4.tar.gz ... == 2018-07-12 13:22:45,918 filetools.py:444 DEBUG Trying to download ipython-6.4.tar.gz from https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s/ipython-6.4.tar.gz to /sw/eb/sources/i/IPython/extensions/ipython-6.4.tar.gz == 2018-07-12 13:22:45,918 filetools.py:451 DEBUG Using timeout of 10 seconds for initiating download == 2018-07-12 13:22:45,919 filetools.py:1136 DEBUG Not creating existing path /sw/eb/sources/i/IPython/extensions == 2018-07-12 13:22:46,050 filetools.py:476 WARNING URL https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s/ipython-6.4.tar.gz was not found (HTTP response code 400), not trying again == 2018-07-12 13:22:46,051 filetools.py:494 WARNING Download of https://pypi.python.org/packages/source/%(nameletterlower)s/%(namelower)s/ipython-6.4.tar.gz to /sw/eb/sources/i/IPython/extensions/ipython-6.4.tar.gz failed, done trying

Any ideas why that isn't getting expanded  properly?  Your's seems
to have worked.

jack





See:

IPython-6.2.1-foss-2017a-Python-3.6.4.eb

(which is  IPython-6.4-foss-2017b-Python-3.6.3.eb here).

I saw some issues in framework covering problems
with the templates in extensions.  Should
I change all the hard-coded dirs for extensions
as just PYPI_SOURCE and let EB handle the rest?

PYPI_SOURCE probably isn't going to work with extensions...

But if you use source URLs like https://pypi.python.org/packages/source/i/ipython/, EasyBuild will automagically translate them to the correct hash URL via https://pypi.python.org/simple ...


regards,

Kenneth



Jack Perdue
Lead Systems Administrator
High Performance Research Computing
TAMU Division of Research
[email protected]    http://hprc.tamu.edu
HPRC Helpdesk: [email protected]

On 07/11/2018 12:50 PM, Kenneth Hoste wrote:
Hi Jack,

On 11/07/2018 01:38, Jack Perdue wrote:
As recently as a week or two ago, the "legacy"
PyPi site was still serving files from old source_urls.

That no longer seems to be the case.

And the new URLs seem to be a random mess.

Has anyone pondered how to deail with this?

EasyBuild has dealt with this for a while (since v2.8.0), by auto-translating PyPI URLs, see https://github.com/easybuilders/easybuild-framework/pull/1749 .

Are you saying that functionality is broken?

Seems to be working fine (we also check this in the framework test suite, of course):

$ python -c "from test.framework.utilities import init_config; from easybuild.tools.filetools import derive_alt_pypi_url; init_config(); print derive_alt_pypi_url('https://pypi.python.org/packages/source/e/easybuild/easybuild-2.7.0.tar.gz')"

INFO: This is (based on) vsc.install.shared_setup 0.11.2
https://pypi.python.org/packages/5b/03/e135b19fadeb9b1ccb45eac9f60ca2dc3afe72d099f6bd84e03cb131f9bf/easybuild-2.7.0.tar.gz


The source tarball can be downloaded using "curl -OL" just fine...


regards,

Kenneth


Reply via email to