python-poetry / python-poetry/poetry

Add option to use symlinks on Unix platforms

Open
#2,832 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/feature status/triage
Dominant language
Python
Stars
34.3k
Forks
2.5k
Avg merge
2d 19h
Merged PRs (30d)
30

Description

  • I have searched the issues of this repo and believe that this is not a duplicate.
  • I have searched the documentation and believe that my question is not covered.

Feature Request

I have a use case for poetry that requires creating a virtual environment in Unix by copying the Python executables instead of creating symlinks.
Basically, the behavior of poetry used to be as desired before https://github.com/python-poetry/poetry/commit/aab8a450008f3073a3f4da8aedca65185c045d89.

Therefore, I suggest adding a configuration option to let the user choose wether to use symlinks (the default) or not. Under NT-Platforms the configuration of course would have no effect.

Short background of the use case: We use GitHub Actions for our CI and execute all our tests within a Docker container that is created from within the CI. Currently we create our virtual environment when building the container, in the future we'd like to build the virtual environment in GitHub Actions with caching support and then mount it to the container on runtime. This however requires the python executable to not be a symlink.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the behavior change in the referenced commit aab8a450008f3073a3f4da8aedca65185c045d89 and trace Poetry's Unix virtual-environment creation path. Add a configuration option that defaults to symlinks, allows copied Python executables on Unix, and has no effect on Windows; verify the behavior with the relevant tests you find there.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.