mapping-commons / sssom-py

Python toolkit for SSSOM mapping format
https://mapping-commons.github.io/sssom-py/index.html#
MIT License
49 stars 12 forks source link

`poetry run sssom` fails: `sssom is not a package.` #528

Open joeflack4 opened 5 months ago

joeflack4 commented 5 months ago

Overview

Not sure how my setup is different; I think I'm the only one w/ this issue. But when I do a poetry install, I get a message at the end of the installation which says sssom is not a package. Additionally, when I do poetry run sssom ..., it shows an error, and also at the end says sssom is not a package..

Additional info

Log: poetry install && poetry run

``` poetry run sssom --help Warning: 'sssom' is an entry point defined in pyproject.toml, but it's not installed as a script. You may get improper `sys.argv[0]`. The support to run uninstalled scripts will be removed in a future release. Run `poetry install` to resolve and get rid of this message. sssom is not a package. ``` ``` which python3 /Users/joeflack4/virtualenvs/sssom-py/bin/python3 which sssom /Users/joeflack4/Library/Python/3.10/bin/sssom ``` ``` poetry install Installing dependencies from lock file Package operations: 0 installs, 15 updates, 0 removals • Updating typing-extensions (4.9.0 -> 4.11.0) • Updating certifi (2023.11.17 -> 2024.2.2) • Updating exceptiongroup (1.2.0 -> 1.2.1) • Updating idna (3.6 -> 3.7) • Updating packaging (23.2 -> 24.0) • Updating pluggy (1.3.0 -> 1.5.0) • Updating pydantic-core (2.14.6 -> 2.18.2) • Updating rpds-py (0.16.2 -> 0.18.0) • Updating urllib3 (2.1.0 -> 2.2.1) • Updating pydantic (2.5.3 -> 2.7.1) • Updating pytest (7.4.4 -> 8.2.0) • Updating referencing (0.32.1 -> 0.35.0) • Updating pyparsing (3.1.1 -> 3.1.2) • Updating filelock (3.13.4 -> 3.14.0) • Updating virtualenv (20.26.0 -> 20.26.1) Installing the current project: sssom (0.0.0) sssom is not a package. poetry run sssom --help Warning: 'sssom' is an entry point defined in pyproject.toml, but it's not installed as a script. You may get improper `sys.argv[0]`. The support to run uninstalled scripts will be removed in a future release. Run `poetry install` to resolve and get rid of this message. sssom is not a package. ```

My setup

MacOS Sonoma 14.1.2 Python 3.10.4 pip 24.0 poetry 1.8.2

Hardware overview

Model Name: MacBook Pro Model Identifier: Mac15,11 Model Number: Z1AH000VGLL/A Chip: Apple M3 Max Total Number of Cores: 14 (10 performance and 4 efficiency) Memory: 96 GB System Firmware Version: 10151.41.12 OS Loader Version: 10151.41.12 Serial Number (system): FKVQT4224L Hardware UUID: 32C8F701-D704-51C2-9578-C157AD7A3B8A Provisioning UDID: 00006034-000860A13E84001C Activation Lock Status: Enabled

matentzn commented 5 months ago

What is the problem? Just the log output?

joeflack4 commented 5 months ago

No, per the title, running this command for me fails. It fails with that message in the log, but when I say it fails, I mean it does nothing else. It doesn't even run the program, it can't seem to find the binary, or whatever.

matentzn commented 5 months ago

Did you try

poetry install --no-cache

To ensure no problematic old state?

I am a bit surprised at your venv path, mine is

 poetry run which python
Configuration file exists at /Users/matentzn/Library/Preferences/pypoetry, reusing this directory.

Consider moving TOML configuration files to /Users/matentzn/Library/Application Support/pypoetry, as support for the legacy directory will be removed in an upcoming release.
/Users/matentzn/ws/sssom-py/.venv/bin/python

What is your output of

poetry env info

Mine is:


Configuration file exists at /Users/matentzn/Library/Preferences/pypoetry, reusing this directory.

Consider moving TOML configuration files to /Users/matentzn/Library/Application Support/pypoetry, as support for the legacy directory will be removed in an upcoming release.

Virtualenv
Python:         3.11.7
Implementation: CPython
Path:           /Users/matentzn/ws/sssom-py/.venv
Executable:     /Users/matentzn/ws/sssom-py/.venv/bin/python
Valid:          True

Base
Platform:   darwin
OS:         posix
Python:     3.11.7
Path:       /Users/matentzn/.pyenv/versions/3.11.7
Executable: /Users/matentzn/.pyenv/versions/3.11.7/bin/python3.11
joeflack4 commented 5 months ago

Env

This is not a surprise to me; you aren't aware that I usually use virtualenvwrapper instead of virtualenv. One of its aspects is that the envs are located in ~/virtualenvs/.

FYI I did try the following things, but I'm getting the same problem:

poetry env info

``` (sssom-py) joeflack4@MacBook-Pro sssom-py % poetry env info Virtualenv Python: 3.10.4 Implementation: CPython Path: /Users/joeflack4/virtualenvs/sssom-py Executable: /Users/joeflack4/virtualenvs/sssom-py/bin/python Valid: True Base Platform: darwin OS: posix Python: 3.10.4 Path: /Library/Frameworks/Python.framework/Versions/3.10 Executable: /Library/Frameworks/Python.framework/Versions/3.10/bin/python3.10 ```

poetry install --no-cache

I did a fresh install the other day, but I tried a fresh install with --no-cache just now, but no luck:

poetry install --no-cache
Installing dependencies from lock file

No dependencies to install or update

Installing the current project: sssom (0.0.0)
sssom is not a package.
joeflack4 commented 5 months ago

I wonder if I should try a Python version other than 3.10?

matentzn commented 5 months ago

Maybe try.. But it is surprising.. I cant do much as I cant reproduce the issue, but since we both have the nearly exact same hardware and OS, I would look next at python version.