py.os.popen error under Windows
2 ビュー (過去 30 日間)
古いコメントを表示
Later matlab versions can call python libraries directly. I came across a problem when calling py.os.popen or py.subprocess.check_output. From the error message below, os.popen() seems calling subprocess:
h = py.os.popen('dir');
Error using subprocess>_make_inheritable (line 948)
Python Error: OSError: [WinError 6] The handle is invalid
Error in subprocess>_get_handles (line 898)
p2cread = self._make_inheritable(p2cread)
Error in subprocess>__init__ (line 665)
errread, errwrite) = self._get_handles(stdin, stdout, stderr)
Error in os>popen (line 978)
bufsize=buffering)
More info about the system: Matlab 2017a under Windows 7, python 3.6.
There is no error under Linux with python 2.7.6, matlab R2015a.
0 件のコメント
回答 (1 件)
Nagarjuna Manchineni
2017 年 6 月 20 日
To call Python libraries from MATLAB, you need to install a supported version of the reference implementation (CPython) for Python. MATLAB R2017a supports versions 2.7, 3.4, and 3.5.
I tried the same command on MATLAB R2017a with Python version 3.5 and everything worked fine. I would recommend to use the supported version of Python (3.5).
See the following documentation page for more reference:
2 件のコメント
参考
カテゴリ
Help Center および File Exchange で Call Python from MATLAB についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!