Import Error: Failing to import file for classes that I've defined.
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- javascript, python
- Domain
- compilers
Research direction
Reproduce the issue with transcrypt -v -n bezoar_sample.__main__ using the linked bezoar project and inspect the import chain ending at bezoar/model/relationship_declaration.py. Start with org/transcrypt/compiler.py, especially the visit_ClassDef area mentioned in the traceback, and compare the handling of entity.Entity with the related collections.abc import. Done means the sample imports compile without the reported missing-module errors and the regression is covered by a test.
Written by the indexing model from the issue text.
Description
Details
OS: Windows 10
Python Version: 3.9.6
Transcrypt version: 3.9.0
Summary
I'm trying to get my pure-Python project with no dependencies to be Transcrypt compatible, but ran into a problem very early with Import Errors for things that I don't understand. Specifically, names of functions or classes I'm importing are being reported as missing module files (examples below).
Steps to Reproduce
git clone https://gitlab.com/iffyb/bezoar.gittranscrypt -v -n bezoar_sample.__main__
Expected Results
It would import the function get_version and classes Entity and Player the way CPython does?
Actual Results
org.transcrypt.utils.Error: Error while compiling (offending file last):
File 'C:/cygwin/home/iffy/ws/bezoar/bezoar_sample/__main__.py', line 5, at import of:
File 'C:/cygwin/home/iffy/ws/bezoar/bezoar_sample/model.py', line 10, at import of:
File 'C:/cygwin/home/iffy/ws/bezoar/bezoar/model/__init__.py', line 29, at import of:
File 'C:/cygwin/home/iffy/ws/bezoar/bezoar/model/version_declaration.py', line 3, at import of:
File 'C:/cygwin/home/iffy/ws/bezoar/bezoar/model/player_declaration.py', line 6, at import of:
File 'bezoar.model.relationship_declaration', line 0, namely:
Import error, can't find any of:
C:/cygwin/home/iffy/ws/bezoar/bezoar/model/Entity.py
C:/cygwin/home/iffy/ws/bezoar/bezoar/model/Entity.js
c:/python/python39/lib/site-packages/transcrypt/modules/bezoar/model/Entity.py
c:/python/python39/lib/site-packages/transcrypt/modules/bezoar/model/Entity.js
C:/Python/Python39/Scripts/transcrypt.exe/bezoar/model/Entity.py
C:/Python/Python39/Scripts/transcrypt.exe/bezoar/model/Entity.js
C:/Users/iffy/AppData/Roaming/Python/Python39/site-packages/bezoar/model/Entity.py
C:/Users/iffy/AppData/Roaming/Python/Python39/site-packages/bezoar/model/Entity.js
c:/python/python39/lib/site-packages/bezoar/model/Entity.py
c:/python/python39/lib/site-packages/bezoar/model/Entity.js
bezoar.model is a package, and Entity is a class defined in the bezoar.model.entity_declaration module, which has a file in C:/cygwin/home/iffy/ws/bezoar/bezoar/model/entity_declaration.py.
relationship_declaration imports bezoar.model.entity_declaration as entity and refers to entity.Entity, among several other symbols in the bezoar.model.entity_declaration module that it doesn't complain about.
Full transcript here: transcrypt_transcript.txt
Other Notes
- It spits out many different Import Errors, some of them seemingly the same.
- There's another internal except in the log, not sure how relevant it is:
During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\python/python39/lib/site-packages/transcrypt/modules\org\transcrypt\compiler.py", line 2028, in visit_ClassDef self.visit (statement.value) File "c:\python/python39/lib/site-packages/transcrypt/modules\org\transcrypt\compiler.py", line 985, in visit super () .visit (node) File "c:\python/python39/lib\ast.py", line 407, in visit return visitor(node) File "c:\python/python39/lib\ast.py", line 411, in generic_visit for field, value in iter_fields(node): File "c:\python/python39/lib\ast.py", line 249, in iter_fields for field in node._fields: AttributeError: 'NoneType' object has no attribute '_fields' - The line number reported is "line 0" which seems odd.
- There's also a similar-looking import error for
from collections.abc import MutableMappinginbezoar.base.overlay_mapping
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 218
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from TranscryptOrg/Transcrypt
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
TranscryptOrg/Transcrypt#913 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
TranscryptOrg/Transcrypt#911 · 2 comments ·
-
IS: bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
TranscryptOrg/Transcrypt#908 ·
-
SUB: documentation
Difficulty 1/5 Under an hour Newbie friendliness 62/100
TranscryptOrg/Transcrypt#656 · 7 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 76/100
TranscryptOrg/Transcrypt#914 ·
All issues in TranscryptOrg/Transcrypt
Similar issues
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#117848 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100