Pythonサポート
Compose はスクリプト言語としてPython 3.5.4 をサポートしています。
サポートされるパッケージ - Windows
- absl-py 0.7.0
- adodbapi 2.6.0.7
- alabaster 0.7.10
- apipkg 1.4
- appdirs 1.4.3
- asn1crypto 0.24.0
- astroid 1.6.1
- atomicwrites 1.3.0
- attrs 17.4.0
- Automat 0.6.0
- Babel 2.5.3
- bcrypt 3.1.6
- bleach 2.1.3
- certifi 2018.11.29
- cffi 1.11.5
- chardet 3.0.4
- cloudpickle 0.2.1
- colorama 0.3.9
- constantly 15.1.0
- cov-core 1.15.0
- coverage 4.5.1
- cryptography 2.2.2
- cycler 0.10.0
- Cython 0.29.6
- cytoolz 0.9.0.1
- dask 0.18.2
- decorator 4.2.1
- docopt 0.6.2
- docutils 0.14
- entrypoints 0.3
- et-xmlfile 1.0.1
- execnet 1.5.0
- ezdxf 0.8.9
- falcon 1.4.1
- falcon-jsonify 1.2
- filelock 3.0.0
- flake8 3.5.0
- graphviz 0.9
- h5py 2.7.1
- html5lib 1.0.1
- hyperlink 18.0.0
- hypothesis 3.48.1
- idna 2.6
- imageio 2.3.0
- imagesize 1.0.0
- incremental 17.5.0
- ipykernel 4.8.2
- ipython 6.2.1
- ipython-genutils 0.2.0
- isort 4.3.4
- jdcal 1.4
- jedi 0.11.1
- Jinja2 2.10
- jupyter 1.0.0
- jupyter-client 5.2.2
- jupyter-core 4.4.0
- kiwisolver 1.0.1
- lazy-object-proxy 1.3.1
- locket 0.2.0
- lxml 4.3.2
- m2r 0.2.1
- Markdown 2.6.11
- MarkupSafe 1.1.0
- matplotlib 3.0.3
- mccabe 0.6.1
- mglearn 0.1.7
- mistune 0.8.3
- mock 2.0.0
- more-itertools 4.3.0
- mpmath 1.0.0
- networkx 2.1
- nltk 3.2.5
- numpy 1.15.0
- numpydoc 0.8.0
- olefile 0.46
- openpyxl 2.6.0
- packaging 17.1
- pandas 0.22.0
- paramiko 2.4.2
- parso 0.1.1
- partd 0.3.8
- pathlib2 2.3.3
- pbr 3.1.1
- pexpect 4.4.0
- pickleshare 0.7.4
- Pillow 5.1.0
- pip 18.0
- pkgconfig 1.4.0
- pkginfo 1.5.0.1
- pluggy 0.8.1
- prompt-toolkit 1.0.15
- protobuf 3.5.2
- psutil 5.4.3
- py 1.5.2
- py-make 0.1.0
- pyasn1 0.4.2
- pycodestyle 2.3.1
- pycparser 2.19
- pyflakes 1.6.0
- Pygments 2.2.0
- PyHamcrest 1.9.0
- pylint 1.8.2
- PyNaCl 1.3.0
- pyparsing 2.2.0
- pypiserver 1.2.7
- pypiwin32 223
- pyreadline 2.1
- pytest 4.0.2
- pytest-cov 2.5.1
- pytest-forked 0.2
- pytest-localserver 0.5.0
- pytest-runner 4.0
- pytest-timeout 1.2.1
- pytest-wholenodeid 0.2
- pytest-xdist 1.22.2
- python-dateutil 2.7.5
- python-mimeparse 1.6.0
- python-pptx 0.6.17
- pyttk 0.3.2
- pytz 2018.9
- PyWavelets 0.5.2
- pywin32 224
- pyzmq 14.1.1
- qtconsole 4.2.1
- reportlab 3.3.0
- requests 2.21.0
- requests-toolbelt 0.9.1
- scandir 1.9.0
- scikit-image 0.14.0
- scikit-learn 0.20.2
- scipy 1.0.1
- setuptools 40.0.0
- setuptools-scm 1.15.7
- simplegeneric 0.8.1
- singledispatch 3.4.0.3
- six 1.12.0
- snowballstemmer 1.2.1
- Sphinx 1.7.1
- sphinx-rtd-theme 0.2.4
- sphinxcontrib-asyncio 0.2.0
- sphinxcontrib-websupport 1.0.1
- sympy 1.1.1
- tensorflow 1.5.0
- tensorflow-tensorboard 1.5.1
- testpath 0.4.2
- TkinterTreectrl 2.0
- toml 0.9.4
- toolz 0.9.0
- tornado 4.5.3
- tox 3.7.0
- tqdm 4.31.1
- traitlets 4.3.2
- twine 1.9.1
- Twisted 17.9.0
- typing 3.6.4
- urllib3 1.22
- virtualenv 15.1.0
- waitress 1.1.0
- wcwidth 0.1.7
- webencodings 0.5.1
- Werkzeug 0.14.1
- wheel 0.30.0
- win-unicode-console 0.5
- wrapt 1.10.11
- XlsxWriter 0.2.1
- zope.event 4.4
- zope.interface 4.4.3
サポートされるパッケージ - Linux
- absl-py 0.1.11
- alabaster 0.7.10
- apipkg 1.4
- asn1crypto 0.24.0
- astroid 1.6.1
- atomicwrites 1.3.0
- attrs 17.4.0
- Automat 0.6.0
- Babel 2.5.3
- bcrypt 3.1.4
- bleach 2.1.3
- certifi 2018.11.29
- cffi 1.11.5
- chardet 3.0.4
- cloudpickle 0.2.1
- colorama 0.3.9
- constantly 15.1.0
- cov-core 1.15.0
- coverage 4.5.1
- cryptography 2.2.2
- cycler 0.10.0
- Cython 0.29.6
- cytoolz 0.9.0.1
- dask 0.18.2
- decorator 4.2.1
- docopt 0.6.2
- docutils 0.14
- entrypoints 0.3
- et-xmlfile 1.0.1
- execnet 1.5.0
- ezdxf 0.8.9
- falcon 1.4.1
- falcon-jsonify 1.2
- filelock 3.0.0
- flake8 3.5.0
- graphviz 0.9
- h5py 2.7.1
- html5lib 1.0.1
- hyperlink 18.0.0
- hypothesis 3.48.1
- idna 2.6
- imageio 2.3.0
- imagesize 1.0.0
- incremental 17.5.0
- ipykernel 4.8.2
- ipython 6.2.1
- ipython-genutils 0.2.0
- isort 4.3.4
- jdcal 1.4
- jedi 0.11.1
- Jinja2 2.10
- jupyter 1.0.0
- jupyter-client 5.2.2
- jupyter-core 4.4.0
- kiwisolver 1.0.1
- lazy-object-proxy 1.3.1
- locket 0.2.0
- lxml 4.3.2
- m2r 0.2.1
- Markdown 2.6.11
- MarkupSafe 1.1.0
- matplotlib 3.0.3
- mccabe 0.6.1
- mglearn 0.1.7
- mistune 0.8.3
- mock 2.0.0
- more-itertools 4.3.0
- mpmath 1.0.0
- networkx 2.1
- nltk 3.2.5
- numpy 1.15.0
- numpydoc 0.8.0
- olefile 0.46
- openpyxl 2.6.0
- packaging 17.1
- pandas 0.22.0
- paramiko 2.4.2
- parso 0.1.1
- partd 0.3.8
- pathlib2 2.3.3
- pbr 3.1.1
- pexpect 4.4.0
- pickleshare 0.7.4
- Pillow 5.1.0
- pip 18.0
- pkgconfig 1.4.0
- pkginfo 1.5.0.1
- pluggy 0.8.1
- prompt-toolkit 1.0.15
- protobuf 3.5.2
- psutil 5.4.3
- ptyprocess 0.5.2
- py 1.5.2
- py-make 0.1.0
- pyasn1 0.4.2
- pycodestyle 2.3.1
- pycparser 2.19
- pyflakes 1.6.0
- Pygments 2.2.0
- PyHamcrest 1.9.0
- pylint 1.8.2
- PyNaCl 1.3.0
- pyparsing 2.2.0
- pypiserver 1.2.7
- pytest 4.0.2
- pytest-cov 2.5.1
- pytest-forked 0.2
- pytest-localserver 0.5.0
- pytest-runner 4.0
- pytest-timeout 1.2.1
- pytest-wholenodeid 0.2
- pytest-xdist 1.22.2
- python-dateutil 2.7.5
- python-mimeparse 1.6.0
- python-pptx 0.6.17
- pyttk 0.3.2
- pytz 2018.9
- PyWavelets 0.5.2
- pyzmq 14.1.1
- qtconsole 4.2.1
- reportlab 3.3.0
- requests 2.21.0
- requests-toolbelt 0.9.1
- scandir 1.9.0
- scikit-image 0.14.0
- scikit-learn 0.20.2
- scipy 1.0.1
- setuptools 40.0.0
- setuptools-scm 1.15.7
- simplegeneric 0.8.1
- singledispatch 3.4.0.3
- six 1.12.0
- snowballstemmer 1.2.1
- Sphinx 1.7.1
- sphinx-rtd-theme 0.2.4
- sphinxcontrib-asyncio 0.2.0
- sphinxcontrib-websupport 1.0.1
- sympy 1.1.1
- tensorflow 1.5.0
- tensorflow-tensorboard 1.5.1
- TkinterTreectrl 2.0
- toml 0.9.4
- toolz 0.9.0
- tornado 4.5.3
- tox 3.7.0
- tqdm 4.31.1
- traitlets 4.3.2
- twine 1.9.1
- Twisted 17.9.0
- typing 3.6.4
- urllib3 1.22
- virtualenv 15.1.0
- waitress 1.1.0
- wcwidth 0.1.7
- webencodings 0.5.1
- Werkzeug 0.14.1
- wheel 0.30.0
- wrapt 1.10.11
- XlsxWriter 0.2.1
- zope.event 4.4
- zope.interface 4.4.3
既知の問題
- Py TTkが機能しません。
- Pythonのユニットテストフレームワーク:
- Pythonのユニットテストフレームワークを使用するには、次の対策を講じます。
import sys import unittest def addNum(a,b): return a + b def delNum(a,b): return a - b class TestFun(unittest.TestCase): def testAdd(self): self.assertEqual(2,addNum(1,1)) def testDel(self): self.assertEqual(2,addNum(1,1)) try: if __name__ == "__main__": unittest.main(argv=[sys.argv[0]]) except SystemExit: pass - デバッガー
- 組み込みのデータ型がサポートされています。
- Watch windowでは、インポートしたデータ型がサポートされていません。
- %quickrefなど、IPythonのマジックコマンドを実行すると、Pythonのコマンドウィンドウが使用できなくなることがあります。
- tkinterパッケージが使用できません。
- デバッガーのウォッチウィンドウ:
- 既存のコンテナへの要素の追加またはそこからの要素の削除がWatch windowに反映されません。以下に例を示します。
- 行番号2にブレークポイントを追加し、Watch windowに‘
data’を追加します。 - 行番号4にブレークポイントを追加します。Watch windowでは、‘
data’が更新されますが、‘data’以下に表示される要素は3つのままです。
- 既存のコンテナへの要素の追加またはそこからの要素の削除がWatch windowに反映されません。以下に例を示します。
- システムコマンドとos.system()関数の使用には次の制限があります。
- 新しいコンソールを起動すると、Windowsではアプリケーションがフリーズします。
- 次のコードに起因してアプリケーションがフリーズします。
import os;os.system('cmd.exe') - 解決策として次のコードを使用します。
import os;os.system('start cmd.exe')
- 次のコードに起因してアプリケーションがフリーズします。
- pauseコマンドを次のように使用すると、Windowsではアプリケーションがフリーズし、Linuxではアプリケーションが想定どおりに動作しなくなります。
import os;os.system('pause')
- 新しいコンソールを起動すると、Windowsではアプリケーションがフリーズします。
- Windowsにおいてインストール時のパスが長すぎる場合、 Python パッケージのインストール / 更新が正しく行われません。
- Windowsには、パスの長さに制限があります。MAX_PATH (一般的に260文字)の設定より長いパスはエラーの原因となります。
- Pythonパッケージのインストール / 更新時、イントールパス全体がTEMPパスに追加されるため、Windowsでサポートする最大パス長さを超えることになります。
- 例:
Composeインストールパス: D:\Program Files\Altair\2019.1
pipの更新は、コマンド"python.exe -m pip install --upgrade pip"を使用し、以下のエラーメッセージを表示します。FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\<username>\\AppData\\Local\\Temp\\pip-vefbh9ve-uninstall\\program files\\altair\\2019.1\\compose2019.1\\common\\python\\python3.5\\win64\\lib\\site-packages\\pip\\_vendor\\requests\\packages\\urllib3\\packages\\ssl_match_hostname\\__pycache__\\__init__.cpython-35.pyc'
- Pythonモジュールを制限されているディレクトリにインストールするには、管理者権限が必要になります。
Composeが"C:\Program Files\...にインストールされている場合、Pythonモジュールのインストールには管理者権限が必要になります。