Couldn't find index page for 'PasteScript' (maybe misspelled?)

I'm still trying to get an old site to extract the content.

I have Plone ArcheType producs that have a setup.py file like this:

setup_requires=["PasteScript"],

When I run buildout, this blows up with the error message above even though the naked buildout for Plone 4.2.6 completed without error, and even though the PasteScript tarball required is in the buildout-cache/dist directory.

What could be the cause for this problem, and how can I fix it, please?

Maybe you can try to specify an index in your buildout.cfg such as:

[buildout]
index = https://pypi.python.org/simple

If that does not work, look at the scripts being used. In the past, some scripts used http and not https. I recall bootstrap.py had this issue.

Toni Müller via Plone Community wrote at 2024-3-19 00:30 +0000:

I'm still trying to get an old site to extract the content.

I have Plone ArcheType producs that have a setup.py file like this:

setup_requires=["PasteScript"],

PasteScript is still available via PyPI.

You might see an old zc.buildout version incompatibility
with the current PyPI: some time ago, PyPI switched from
"http" to "https only" access. Old zc.buildout versions
still use the http access to PyPI (which will fail).
@h2o already told you how to work around this issue.

An alternative would be a zc.buildout (and maybe setuptools) upgrade.
Note that zc.buildout and setuptools may be referenced from
2 places: the python installation (likely a virtual env)
and Plone's "buildout" configuration.
Ensure that both reference the same versions.

When I run buildout, this blows up with the error message above even though the naked buildout for Plone 4.2.6 completed without error, and even though the PasteScript tarball required is in the buildout-cache/dist directory.

What could be the cause for this problem, and how can I fix it, please?

It is a bit surprising that the buildout for Plone 4.2.6 succeeds
but you extended buildout does not.
An explanation could be that the two use a different buildout-cache
or that the extended buildout somewhere has a version restriction
for PasteScript not satisfied by its buildout-cache.

You can use the -v option of buildout (repeat to make it more verbose)
to get more information about its doing (e.g. -vvvv).
You can also use the buildout annotate command to see the
effective buildout configuration.
However version restrictions can also come from a distribution's
setup.py.

Hi Maurits, hi Dieter,

I have tried to heed both your tips, but without any success. I think I might have not stated the problem properly:

  • My starting point was the Universal Installer package.

  • All relevant source files are in the download cache and could be built from there.

  • buildout ignores those files, regardless of whether I specify 'offline mode', or whether I add a file:// URL pointing to that directory to the buildout.cfg.

  • Creating my own virtualenv with the Python from the UniversalInstaller did not work at all, it would only take packages from it's own virtualenv which was created in some place where I did not expect it, even though I hadn't activated it.

Once I activated the pre-generated virtualenv and installed packages there, everything started to work.

Thanks a lot for the tip that gave me the hint to look for that other virtualenv!

Toni Müller via Plone Community wrote at 2024-3-19 13:20 +0000:

...

  • My starting point was the Universal Installer package.

  • All relevant source files are in the download cache and could be built from there.

  • buildout ignores those files, regardless of whether I specify 'offline mode', or whether I add a file:// URL pointing to that directory to the buildout.cfg.

There is a zc.buildout configuration option telling buildout
where to look for the download and eggs cache.

...
Once I activated the pre-generated virtualenv and installed packages there, everything started to work.

Be careful however: there can be problems when you mix
imports from a virtual env's site-packages and from buildout
installed eggs.
As far as I know, only namespace packages split over the two sources
are affected.

Yes - I had used that:

eggs-directory=../buildout-cache/eggs # from base.cfg
download-cache=../buildout-cache/downloads # also from base.cfg

I also had:

find-links +=
file:///.../www/buildout-cache/downloads/dist

and then put the sources into this directory, but this was ignored, even though the buidout code understands file:// URLs.