UUDigitalHumanitieslab / sastadev

Method definitions for use in SASTA
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

module compounds not found #20

Closed JanOdijk closed 1 year ago

JanOdijk commented 1 year ago

Sastadev aanroepen met python -m lukt niet (zie andere issue), als ik direct __main__.py aanroep dan klaagt ie dat ie de module compounds niet kan vinden (zie beneden).

python "D:\Dropbox\jodijk\myprograms\python\sastacode\mysastadev\src\sastadev__main__.py" -f "D:\Dropbox\jodijk\Utrecht\Projects\SASTADATA\vkltarsp\intreebanks\Tarsp_01.xml" -m "tarsp" --corr 0
Traceback (most recent call last): File "D:\Dropbox\jodijk\myprograms\python\sastacode\mysastadev\src\sastadev__main.py", line 150, in from sastadev import compounds ImportError: cannot import name 'compounds' from 'sastadev' (C:\Users\Odijk101\Anaconda3\envs\auchantest\lib\site-packages\sastadev\init__.py)

Wat blijkbaar komt omdat het package sastadev (van Auchann) er nog is Dus probeer ik die daar weg te halen (hoewel ik al eerder pip unistall sastadev gedaan had). Maar dan klaagt ie dat ie 'm niet kan uninstallen omdat ie er niet is, maatr hij staat nog wel steeds in de packag lijst van de venv

Collecting package metadata (repodata.json): ...working... done Solving environment: ...working... failed

PackagesNotFoundError: The following packages are missing from the target environment:

JeltevanBoheemen commented 1 year ago

Mijn fout, als module aanroepen middels -m werkt alleen als je het in de directory draait waar de module zich bevindt. Dit kan dus wel als je het commando draait in D:\Dropbox\jodijk\myprograms\python\sastacode\mysastadev

Aanroepen als __main__.py werkt sowieso niet. Hij kan sastadev.compounds niet vinden omdat de importeerstijl dit niet toelaat.

Ik denk niet dat er nog een versie van sastadev rondhangt in de venv als je pip uninstall sastadev hebt gedraaid.

Had je al geprobeerd pip install -e <pad/naar/sastadev> te draaien? Dit is de geaccepteerde manier, en werkt bij mij ook goed (vanuit sasta sastadev importeren).

Anders is de resterende oplossing om <pad/naar/sastadev> aan je PYTHONPATH toe te voegen, en sastadev aan te roepen met -m. Maar dan krijg je weer de moeilijk te ontcijferen situatie met verschillende versies in PATH.