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

virtualenv: determine 'site-packages' based on implementation name #2094

Merged
merged 2 commits into from
Feb 29, 2024

Commits on Feb 29, 2024

  1. virtualenv: determine 'site-packages' based on implementation name

    I'm not at all sure whether this is a correct fix or not, but it does
    seem to make `pypy` work in at least some cases with `uv`. Previously,
    I couldn't get it to work at all. Namely the virtualenv was created
    with a `lib/python3.10/site-packages`, but whenever I did a `uv
    pip install` in that virtualenv, it was looking for a non-existent
    `lib/pypy3.10/site-packages` directory.
    
    With this PR, the workflow reported as not working in #1488 now works
    for me:
    
    ```
    $ pypy3 --version
    Python 3.10.13 (fc59e61cfbff, Jan 17 2024, 05:35:45)
    [PyPy 7.3.15 with GCC 13.2.1 20230801]
    
    $ uv venv --python $(which pypy3) --seed
    Using Python 3.10.13 interpreter at: /usr/bin/pypy3
    Creating virtualenv at: .venv
     + pip==24.0
     + setuptools==69.1.1
     + wheel==0.42.0
    Activate with: source .venv/bin/activate
    
    $ uv pip install 'alembic==1.0.11'
    Resolved 9 packages in 8ms
    Installed 9 packages in 14ms
     + alembic==1.0.11
     + greenlet==3.0.3
     + mako==1.3.2
     + markupsafe==2.1.5
     + python-dateutil==2.8.2
     + python-editor==1.0.4
     + six==1.16.0
     + sqlalchemy==2.0.27
     + typing-extensions==4.10.0
    ```
    
    Where as previously (current `main`), I was hitting this error:
    
    ```
    $ uv venv --python $(which pypy3) --seed
    Using Python 3.10.13 interpreter at: /usr/bin/pypy3
    Creating virtualenv at: .venv
     + pip==24.0
     + setuptools==69.1.1
     + wheel==0.42.0
    Activate with: source .venv/bin/activate
    
    $ uv pip install 'alembic==1.0.11'
    error: Failed to list installed packages
      Caused by: failed to read directory `/home/andrew/astral/issues/uv/i1488/.venv/lib/pypy3.10/site-packages`
      Caused by: No such file or directory (os error 2)
    ```
    
    Notice though that neither outcome above matches the error reported in #1488,
    so this is likely not a complete fix. There are perhaps other lurking
    issues.
    
    Ref #1488
    BurntSushi committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    0d480b7 View commit details
    Browse the repository at this point in the history
  2. uv-interpreter: cut alternative implementation of site-packages python

    This is a separate commit so that the alternative is preserved in
    history.
    BurntSushi committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    157608d View commit details
    Browse the repository at this point in the history