Ошибка при импорте "asammdf" в Robotframework - PullRequest
0 голосов
/ 09 апреля 2020

Я написал собственную библиотеку в python, которая импортирует пакет с именем «asammdf». Но, когда я импортирую свою пользовательскую библиотеку в коде робота, она показывает ошибку при импорте «asammdf» в python. В нем говорится: «Ошибка в файле * .robot. Не удалось импортировать тестовую библиотеку * .py. Ошибка импорта: ошибка загрузки DLL: указанный модуль не найден. Пакет«

»asammdf» доступен в одном из PYTHONPATH, который он упоминает во время казней.

Может кто-нибудь помочь мне сделать это и сообщить мне, что я сделал не так? Мой python файл (trialRobot.py):

import asammdf
...
...
...

Мой файл робота (TC1.robot):

*** Settings ***
Library trialRobot.py

*** Test Cases ***
TC1
   DO THIS
   DO THAT

Отображаемая ошибка:

[ ERROR ] Error in file 'G:\AutomationRobotFramework\RobotAutomationFramework\TC1.robot': Im
porting test library 'G:\AutomationRobotFramework\RobotAutomationFramework\trialRobot.py' fa
iled: ImportError: DLL load failed: The specified module could not be found.
Traceback (most recent call last):
  File "G:\AutomationRobotFramework\RobotAutomationFramework\trialRobot.py", line 1, in <mod
ule>
    import asammdf
  File "g:\automationrobotframework\venv\lib\site-packages\asammdf\__init__.py", line 15, in
 <module>
    from .blocks.mdf_v2 import MDF2
  File "g:\automationrobotframework\venv\lib\site-packages\asammdf\blocks\mdf_v2.py", line 4
, in <module>
    from .mdf_v3 import MDF3
  File "g:\automationrobotframework\venv\lib\site-packages\asammdf\blocks\mdf_v3.py", line 4
4, in <module>
    from ..signal import Signal
  File "g:\automationrobotframework\venv\lib\site-packages\asammdf\signal.py", line 9, in <m
odule>
    from .blocks.utils import MdfException, extract_cncomment_xml, SignalSource
  File "g:\automationrobotframework\venv\lib\site-packages\asammdf\blocks\utils.py", line 27
, in <module>
    from cchardet import detect
  File "g:\automationrobotframework\venv\lib\site-packages\cchardet\__init__.py", line 1, in
 <module>
    from cchardet import _cchardet

PYTHONPATH:
  G:\AutomationRobotFramework\venv\Scripts\robot.exe
  C:\Program Files\Python37\python37.zip
  C:\Program Files\Python37\DLLs
  C:\Program Files\Python37\lib
  C:\Program Files\Python37
  g:\automationrobotframework\venv
  g:\automationrobotframework\venv\lib\site-packages
  g:\automationrobotframework\venv\lib\site-packages\pip-19.0.3-py3.7.egg

Но пакет asammdf устанавливается в python с использованием pip без конфликта имен и местоположений. Он устанавливается только один раз и в папке, куда по умолчанию устанавливается pip. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Вам необходимо установить cchardet 2.1.5

0 голосов
/ 09 апреля 2020

Необходимо указать абсолютный или относительный путь к файлу example.py.

, например,

*** Settings ***
Library C:/SomeFolder/example.py

или

*** Settings ***
Library ../folder/example.py
...