Allow to set METADATA_URL in an environment variable
Hello,
I need to install poetry on a server that is not connected to internet.
When executing the installation script previsously copied on the server, I encounter a problem when the script attempts to retrieve metadata. This seems to be due to this line in the script : METADATA_URL = "https://pypi.org/pypi/poetry/json".
Would it be possible to allow to set this parameter via an environment variable, e.g. POETRY_METADATA_URL ?
In advance, many thanks
Kind regards
Arnaud
I need to install poetry on a server that is not connected to internet.
and what is the rest of your plan? how do you expect to download poetry?
Many thanks @dimbleby for your very quick answer
I realize I was not very clear ! To be more precise, my server has no direct access to internet, but is behind a "Sonatype Nexus Repository Manager" proxy.
I already configured pip with pip config --global set global.index-url <my-sonartype-nexus-pypi-repository-url>
With such an environment variable, I could either set a nexus-type url for https://pypi.org/pypi/poetry/json, or set a local path like "file:///D:/Python/_install/metadata.json"
if you have a usable repository you probably are better off just using one of the other installation methods eg pipx, or manually create a venv and pip install poetry directly
I tryed both alternative methods, and my feeling was :
- using pipx was more complex, since it needs to install a new tool
- i was not very confortable with the manual installation, since it is not detailled for windows
In addition, if i configure my nexus proxy so that it can serve the installation script beyond the firewall, I no longer need to previsously copy the the installation script on the server.
I felt that using the official installer would be more straigtforward, I guess such a command would do the job :
New-Item -Path Env:\POETRY_HOME -Value 'D:/Python/poetry'
New-Item -Path Env:\POETRY_METADATA_URL -Value '<my-sonartype-nexus-pypi-poetry-json-url>'
(Invoke-WebRequest -Uri <my-sonartype-nexus-install-python-poetry-url> -UseBasicParsing).Content | py -
I doubt nexus even offers the json API
Within "Sonatype Nexus Repository Manager", i can set any URL as a proxy, not necessarily a repository URL
I could set https://pypi.org/pypi/poetry/json as a proxied-url, allowing me to reach the json content behind my firewall
Unless I misunderstand your point... ;)