indygreg / indygreg/PyOxidizer

Add support for egg-link's

Open
#440 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
6.2k
Forks
256
PR merge metrics
No merged PRs in 30d

Description

**Expected result**:
Installing a dependency in a PyOxidizer project with `pip install -e` should load the resources correctly.

**Actual result**:
"Module not found" error.

**Config**:
https://github.com/WebOfTrust/keep/blob/main/ward/pyoxidizer.bzl

----

I am working on two projects in active development. A library, and a another application that will consume a 'PyOxidized' version of the the former.

I'm using the `read_virtualenv` resource loader.

Quite often we do not have a up to date published version of the library so we `pip install -e /path/to/library` in the 'PyOxidized' project. This generates a `.egg-link` file in the venv under `/path/to/project/venv/lib/python3.9/site-packages/keri.egg-link` which has the following format:

```
/path/to/library/src
../
```

If these all sounds "reasonable" the place to start seems to be `read_virtualenv` (I don't know under what other circumstances these "symlinks" are produced) and go from there?

My intention is to try fix it, but wanted to raise an issue in case I am doing something wrong, or not using PyOxidizer correctly.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the read_virtualenv resource loader and the linked pyoxidizer.bzl configuration. Reproduce an editable install that creates a .egg-link containing the library source path, then trace how that file is handled. Done means a PyOxidizer project using pip install -e can load the dependency's resources without a module-not-found error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
build-system, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.