2015-03-25 5 views
2

Мне не удалось импортировать пакет numpy в среду ABAQUS Python из предыдущих обсуждений этой аналогичной проблемы.Импорт пакета numpy в среду ABAQUS 6.10 Python

Я работаю над Microsoft Windows 7 (64-разрядная версия). Я установил ABAQUS 6.10. И, набрав команду abaqus python в командной строке MS-DOS, я понял, что ABAQUS 6.10 использует версию Python 2.6.2. По важной причине в моем файле сценария python необходимо использовать функцию array, доступную в пакете numpy. Я предпринял следующие шаги на основе предыдущих обсуждений:

Python 2.6.2 установки:

  1. установлен Python 2.6.2 версия (32-бит) до C:\Python26\ (я уже Python 2.7.6 установлен в папке C:\Python27\)
  2. Изменены среда системные переменные под PATH переменной C:\Python26\; (ранее это было C:\Python27\)
  3. Изменены среда пользовательские переменные под PYTHONPATH переменной C:\Python26\Lib\site-packages\ (ранее это было C:\Python27\)
  4. Loaded Python 2.6.2 успешно используя команду python в MS-DOS.

Numpy установка для Python 2.6.2:

  1. Скачал и установил NumPy (32-разрядная версия) MSI файл установки numpy-1.3.0-win32-superpack-python2.6 из Sourceforge.net- NumPy 1.3.0 в C: \ Python26 \ Lib \ папка сайта-пакеты.
  2. Загруженный Python 2.6.2 успешно использует команду python в командной строке MS-DOS.
  3. Импортировано numpy с помощью команды import numpy в среде python.

Numpy установка для ABAQUS 6.10:

  1. Скопировал папку Numpy из C:\Python26\Lib\site-packages\ и приклеивается к D:\SIMULIA\Abaqus\6.10-1\Python\Lib\site-packages, что папка питон модули для ABAQUS. Обратите внимание, что я установил ABAQUS 6.10 в D: привод.
  2. Создал файл сценария python, myScript.py, содержащий только следующую строку кода: from numpy import * и сохранил его на рабочем столе.
  3. Открыл запрос MS-DOS и изменил папку на мой рабочий стол, содержащий myScript.py.
  4. я, наконец, напечатал следующие команды в MS-DOS, чтобы запустить файл сценария в среде ABAQUS Python: abaqus cae noGUI=myScript.py и я получил следующие ошибки:
Abaqus License Manager checked out the following license(s): 
"cae" release 6.10 from 127.0.0.1 
<2010 out of 2011 licenses remain available>. 
ImportError: DLL load failed: %1 is not a valid Win32 application. 

File "myScript.py", line 4, in <module> from numpy import array 

File "C:\Python26\Lib\site-packages\numpy\__init__.py", line 130, in <module> 
     import add_newdocs 
File "C:\Python26\Lib\site-packages\numpy\add_newdocs.py", line 9, in <module> 
     from lib import add_newdoc 
File "C:\Python26\Lib\site-packages\numpy\lib\__init__.py", line 4, in <module> 
     from type_check import * 
File "C:\Python26\Lib\site-packages\numpy\lib\type_check.py", line 8, in <module> 
     import numpy.core.numeric as _nx 
File "C:\Python26\Lib\site-packages\numpy\core\__init__.py", line 5, in <module> 
     import multiarray 

Abaqus Error: cae exited with an error. 

Примечание: Я установил Python 2.6.2 32-бит, потому что numpy, доступный для 64-битного, показывает предупреждение о том, что он нестабилен и впоследствии будет сбой.

Мой основной вопрос: «Как я могу успешно импортировать numpy пакет в среде ABAQUS

ответ

1

У меня была проблема с импортом ничего в окружающую среду питона Abaqus. Обходной путь, который я использовал, заключался в создании сценария .py с использованием основного сценария .py. Таким образом, все вычисления выполняются и вставляются в виде текста в шаблон .py. Затем позже главный сценарий вызывает abaqus для запуска скрипта python.

Как правило, я обнаружил, что версия python внутри Abaqus находится за основной версией python и делает что-то дистанционно вне обычной работы, так как это не зависит от Simulia, чтобы обновлять вещи. Я использую слишком много настраиваемых пакетов.

В любом случае вы хотите, чтобы мастер-скрипт python настраивал вещи высокого уровня, такие как папки, и чтение данных из таблиц. И если вы используете скрипт для создания модели, я не сомневаюсь, что вы выполняете параметрическое исследование, поэтому ваши циклы для этого могут быть в основном скрипте.

Что также иногда работает для передачи данных в файл abaqus .py, создается структура или класс и сохраняется с помощью pickle. Насколько я помню работы с рассолом и импортирован, если класс не содержит импортных товаров.

2

Честно говоря, 32-разрядная версия numpy не будет работать с 64-разрядной версией Python. Поэтому ошибка вполне ожидаема. Даже если Abaqus должен был использовать 32-битную версию, я настоятельно рекомендую не копировать и вставлять каталог библиотеки.

dim_voly Ответ простой способ обойти эту проблему, но вот некоторые инструкции, если вы действительно хотите использовать NumPy внутри Abaqus

  • Это link объясняет совершенно ясно, как установить NumPy. Вам нужно будет включить каталог Abaqus Python в переменную окружения PATH. Как только установлен pip, вам должно быть легко установить numpy и любую другую библиотеку, в которой вы нуждаетесь.

  • В настоящее время я использую Abaqus 6.13, который уже установлен с numpy. Таким образом, обновление вашего программного обеспечения также может быть жизнеспособным решением.

Надеется, что это помогает

 Смежные вопросы

  • Нет связанных вопросов^_^