Closed kenandrn closed 1 year ago
Hi @kenandrn
Thank you for posting this issue.
Could you try in your last step to run it as:
from ansys.mapdl.core import launch_mapdl
mapdl = launch_mapdl(start_instance=False, port=50052)
print(mapdl)
??
Hi @germa89
Thank you for your reply. Firstly, I launched APDL in gRPC mode on Mechanical APDL Product Launcher with additional parameters "-grpc".
Scondly, I tried below code but it doesn't work.
from ansys.mapdl.core import launch_mapdl mapdl = launch_mapdl(start_instance=False, port=50052) print(mapdl)
I attatched error message.
---------------------------------------------------------------------------
OSError Traceback (most recent call last)
Cell In [2], line 3
1 from ansys.mapdl.core import launch_mapdl
----> 3 mapdl = launch_mapdl(start_instance=False, port=50052)
4 print(mapdl)
File d:\○○\MBD\AI\PyAnsys\lib\site-packages\ansys\mapdl\core\launcher.py:1464, in launch_mapdl(exec_file, run_location, jobname, nproc, ram, mode, override, loglevel, additional_switches, start_timeout, port, cleanup_on_exit, start_instance, ip, clear_on_connect, log_apdl, remove_temp_files, verbose_mapdl, license_server_check, license_type, print_com, add_env_vars, replace_env_vars, **kwargs)
1461 if clear_on_connect is None: # pragma: no cover
1462 clear_on_connect = False
-> 1464 mapdl = MapdlGrpc(
1465 ip=ip,
1466 port=port,
1467 cleanup_on_exit=False,
1468 loglevel=loglevel,
1469 set_no_abort=set_no_abort,
1470 )
1471 if clear_on_connect:
1472 mapdl.clear()
File d:\○○\PyAnsys\lib\site-packages\ansys\mapdl\core\mapdl_grpc.py:356, in MapdlGrpc.__init__(self, ip, port, timeout, loglevel, log_file, cleanup_on_exit, log_apdl, set_no_abort, remove_temp_files, print_com, channel, remote_instance, **start_parm)
353 self._channel = channel
355 # connect and validate to the channel
--> 356 self._multi_connect(timeout=timeout)
358 # double check we have access to the local path if not
359 # explicitly specified
360 if "local" not in start_parm:
File d:\○○\PyAnsys\lib\site-packages\ansys\mapdl\core\mapdl_grpc.py:418, in MapdlGrpc._multi_connect(self, n_attempts, timeout, set_no_abort)
411 self._log.debug(
412 "Reached either maximum amount of connection attempts (%d) or timeout (%f s).",
413 n_attempts,
414 timeout,
415 )
417 if not connected:
--> 418 raise IOError(
419 f"Unable to connect to MAPDL gRPC instance at {self._channel_str}"
420 )
OSError: Unable to connect to MAPDL gRPC instance at 127.0.0.1:50052
This is very weird.... it might need further support. Please send an email to pyansys.support@ansys.com.
For the record, this has been the final outcome of this issue:
He gave me the detailed cause of the error and I will share it with you.
There are two reasons for failing launch_mapdl(); (1) Mechanical APDL Program was blocking Inbound connections -> When the firewall was disabled, the Mapdl() commands were successful.
(2) The local loopback address cannot be referenced under the proxy environment. -> Therefore, launch_mapdl() terminated with an error.
Regarding the firewall In the Inbound connection rules, the Mechanical APDL Program was set to "Inbound connections that do not match the rules will be blocked". When "Allow incoming connections that do not match the rules" is set, the error does not occur even when firewall is enabled. However, launch_mapdl() still fails and it is necessary to use Mapdl() by specifying the IP of the PC. There is no problem even if Python.exe is not included in the receive and send rules (because gRPC, described later, was found to be an error factor).
Regarding gRPC connecton Investigated the reason why gRPC cannot refer to the local loopback address (127.0.0.1). When gRPC is used in his corporate proxy environment, if a local loopback address is specified as the connection destination, gRPC refers to the proxy. In this case, the local loopback address cannot be refered, resulting in a connection error. As a workaround, he added set NO_PROXY=127.0.0.1 at the time of proxy authentication, and launch_mapdl() succeeded in connecting to ANSYS.
Quoted as it is from email.
Before submitting the issue
pip install --upgrade --upgrade-strategy eager ansys-mapdl-core
)Description of the bug
Unable to use pymapdl from python scripts
Steps To Reproduce
Steps:
But it didn't work and I got the following error
But APDL is runnning in the background at this time. I can confirm APDL running by task manager.
So I shutdown the APDL by task manager.
Steps: ・Secondly, I tried launching APDL in gRPC mode on command prompt using the steps in below links https://mapdldocs.pyansys.com/getting_started/running_mapdl.html#launching-a-grpc-mapdl-session
APDL started without problems and the following message appeared in the Mechanical APDL 2021 R2 Output Window
While keeping the APDL in gRPC mode, I tried the following codes on the jupyter lab, but I got error.
Error
The results of the execution of the following code are appended.
Which Operating System are you using?
Windows
Which Python version are you using?
3.9
PyMAPDL Report
Show the Report!
```text ```The error masseges are attached above.
Installed packages
Show the installed packages!
```text aiohttp==3.8.3 aiosignal==1.2.0 ansys-api-mapdl==0.5.1 ansys-api-platform-instancemanagement==1.0.0b3 ansys-mapdl-core==0.63.3 ansys-mapdl-reader==0.52.2 ansys-platform-instancemanagement==1.0.2 anyio==3.6.2 appdirs==1.4.4 argon2-cffi==21.3.0 argon2-cffi-bindings==21.2.0 asttokens==2.0.8 async-timeout==4.0.2 attrs==22.1.0 Babel==2.10.3 backcall==0.2.0 beautifulsoup4==4.11.1 bleach==5.0.1 certifi==2022.9.24 cffi==1.15.1 charset-normalizer==2.1.1 colorama==0.4.5 contourpy==1.0.5 cycler==0.11.0 debugpy==1.6.3 decorator==5.1.1 defusedxml==0.7.1 entrypoints==0.4 executing==1.1.1 fastjsonschema==2.16.2 fonttools==4.37.4 frozenlist==1.3.1 geomdl==5.3.1 googleapis-common-protos==1.56.4 grpcio==1.50.0 idna==3.4 imageio==2.22.2 importlib-metadata==5.0.0 ipykernel==6.16.0 ipython==8.5.0 ipython-genutils==0.2.0 jedi==0.18.1 Jinja2==3.1.2 json5==0.9.10 jsonschema==4.16.0 jupyter-server==1.21.0 jupyter_client==7.4.3 jupyter_core==4.11.2 jupyterlab==3.4.8 jupyterlab-pygments==0.2.2 jupyterlab_server==2.16.1 kiwisolver==1.4.4 MarkupSafe==2.1.1 matplotlib==3.6.1 matplotlib-inline==0.1.6 mistune==2.0.4 multidict==6.0.2 nbclassic==0.4.5 nbclient==0.7.0 nbconvert==7.2.2 nbformat==5.7.0 nest-asyncio==1.5.6 notebook==6.5.1 notebook_shim==0.2.0 numpy==1.23.4 packaging==21.3 pandocfilters==1.5.0 parso==0.8.3 pickleshare==0.7.5 Pillow==9.2.0 prometheus-client==0.15.0 prompt-toolkit==3.0.31 protobuf==3.20.3 protoc-gen-swagger==0.1.0 psutil==5.9.3 pure-eval==0.2.2 pycparser==2.21 Pygments==2.13.0 pyiges==0.2.1 pyparsing==3.0.9 pyrsistent==0.18.1 python-dateutil==2.8.2 pytz==2022.5 pyvista==0.36.1 pywin32==304 pywinpty==2.0.8 pyzmq==24.0.1 requests==2.28.1 scipy==1.9.2 scooby==0.6.0 Send2Trash==1.8.0 six==1.16.0 sniffio==1.3.0 soupsieve==2.3.2.post1 stack-data==0.5.1 terminado==0.16.0 tinycss2==1.2.1 tomli==2.0.1 tornado==6.2 tqdm==4.64.1 traitlets==5.5.0 urllib3==1.26.12 vtk==9.2.2 wcwidth==0.2.5 webencodings==0.5.1 websocket-client==1.4.1 wslink==1.8.4 yarl==1.8.1 zipp==3.9.0 ```