pyecore/pyecoregen

Import error when using freshly installed pyecoregen

ecba opened this issue · 6 comments

ecba commented

After fresh installation of this library, the command line tool is throwing the following error message:

>pyecoregen -h
Traceback (most recent call last):
  File "C:\Python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Nina\ninaenv\Scripts\pyecoregen.exe\__main__.py", line 5, in <module>
  File "c:\nina\ninaenv\lib\site-packages\pyecoregen\cli.py", line 7, in <module>
    import pyecore.resources
  File "c:\nina\ninaenv\lib\site-packages\pyecore\resources\__init__.py", line 2, in <module>
    from . import xmi
  File "c:\nina\ninaenv\lib\site-packages\pyecore\resources\xmi.py", line 4, in <module>
    from lxml import etree
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.

Probably some dependency (lxml) is missing.

@varanega: I am a coworker of Mike...

ecba commented

List of installed packages:

antlr4-python3-runtime (4.7)
autopep8 (1.3.2)
colorama (0.3.7)
coverage (4.3.4)
enum34 (1.1.6)
Jinja2 (2.9.6)
lxml (3.8.0)
MarkupSafe (1.0)
ordered-set (2.0.2)
pip (9.0.1)
py (1.4.33)
pycodestyle (2.3.1)
pyecore (0.5.11)
pyecoregen (0.3.0)
pymultigen (0.1.1)
pytest (3.0.7)
setuptools (28.8.0)

The used version of python is CPython 3.6 on Windows 7 64 Bit. lxml was installed from corresponding wheel on PyPI. .pyd extensions seem to be available... Need to look into this.

Perhaps I missed a thing during the setup.py configuration. I think I still have a windows VM, I can run som tests if it can help you?

EDIT> I quickly start my vm, pyecoregen runs fine (at least -h starts without issues). CPython 3.6 is installed and I have the same pyecoregen related dependencies as @ecba

Indeed it looks like something is weird with the setup of pyecore's XMI support. I will try to reproduce first and narrow it down.

The effect cannot be reproduced in my environment. On Windows 7 64 Bit, Python 3.6.1 64 Bit I did:

> py -3.6 -m venv env
> env\Scripts\activate.bat
> pip install pyecoregen
> pyecoregen -h

The result ts the expected behavior (help message). On the OP's machine I did the exact same thing with Python 3.6.0 64 bit and the error surfaced. I asked @ecba to rerun with a newer Python patch level and report the result here.

ecba commented

I just retried it with Python 3.6.1 and it works fine now.
Thank you for your support!