Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow to set METADATA_URL in an environment variable #144

Open
arnauddeblic opened this issue Jul 11, 2024 · 6 comments
Open

Allow to set METADATA_URL in an environment variable #144

arnauddeblic opened this issue Jul 11, 2024 · 6 comments

Comments

@arnauddeblic
Copy link

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

@dimbleby
Copy link

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?

@arnauddeblic
Copy link
Author

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"

@dimbleby
Copy link

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

@arnauddeblic
Copy link
Author

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 -

@dimbleby
Copy link

I doubt nexus even offers the json API

@arnauddeblic
Copy link
Author

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... ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants