前の関連記事:linuxBean14.04(99)Chromeに代わってChromiumのインストール
linuxBean14.04(49)pyreverseでPythonコードからUML図を生成でpip3.3でインストールしたpylintとlinuxBean14.04(40)pycallgraphでPythonのコールグラフ:その1でインストールしたpycallgraphをそれぞれlinuxBean14.04(86)AnacondaのパッケージをLibreOfficeマクロで使うのAnaconda3のpy335にインストールし直します。
pylintとpycallgraphのアンイストール
Anaconda3にインストールする目的はパーミッションを気にせずパッケージファイルを編集できるという目的もあります。
linuxBean14.04(49)pyreverseでPythonコードからUML図でsudo -H pip3.3 install pylintでpylintをインストールしたのでまずこれをアンイストールします。
sudo -H pip3.3 uninstall pylint
これで/usr/local/lib/python3.3/dist-packages/にインストールされていたpylintフォルダがアンイストールされました。
pycallgraphはlinuxBean14.04(40)pycallgraphでPythonのコールグラフ:その1でPyCharmからインストールしています。
pycallgraphのフォルダも/usr/local/lib/python3.3/dist-packages/にインストールされているのでpylintと同じ方法でアンイストールできそうですけど、インストール時と同様にPyCharmからアンイストールします。
Project Interpreterはインストールした時と同じ/usr/bin/python3.3を選択した状態でアンインストールしました。
これでインストール前の状態に戻せました。
graphvizはSynapticパッケージマネージャでインストールしたものをそのまま使います。
Anaconda3のpy335にpylintをcondaでインストール
pylintはconda search pylintでpy33のパッケージがあったのでそれをインストールします。
pq@pq-VirtualBox:~$ source activate py335 discarding /home/pq/anaconda3/bin from PATH prepending /home/pq/anaconda3/envs/py335/bin to PATH (py335)pq@pq-VirtualBox:~$ conda install pylint Fetching package metadata: .... Solving package specifications: ................ Package plan for installation in environment /home/pq/anaconda3/envs/py335: The following packages will be downloaded: package | build ---------------------------|----------------- sqlite-3.9.2 | 0 3.8 MB setuptools-19.4 | py33_0 378 KB six-1.10.0 | py33_0 17 KB logilab-common-0.63.2 | py33_0 306 KB pip-8.0.1 | py33_0 1.5 MB astroid-1.3.4 | py33_0 214 KB pylint-1.4.2 | py33_0 308 KB ------------------------------------------------------------ Total: 6.6 MB The following NEW packages will be INSTALLED: astroid: 1.3.4-py33_0 logilab-common: 0.63.2-py33_0 pylint: 1.4.2-py33_0 wheel: 0.26.0-py33_1 The following packages will be UPDATED: pip: 7.0.3-py33_0 --> 8.0.1-py33_0 setuptools: 17.1.1-py33_0 --> 19.4-py33_0 six: 1.9.0-py33_0 --> 1.10.0-py33_0 sqlite: 3.8.4.1-1 --> 3.9.2-0 The following packages will be DOWNGRADED: openssl: 1.0.2d-0 --> 1.0.1k-1 Proceed ([y]/n)?
Anaconda3のpy335にpycallgraphをpipでインストール
pycallgraphはconda search pycallgraphではでてこなかったのでpylintに引き続きpy335のままpipでインストールします。
(py335)pq@pq-VirtualBox:~$ pip install pycallgraph Collecting pycallgraph Downloading pycallgraph-1.0.1.tar.gz Building wheels for collected packages: pycallgraph Running setup.py bdist_wheel for pycallgraph ... done Stored in directory: /home/pq/.cache/pip/wheels/df/3f/73/408d04bfdb196f92464152123abd889addb3c5302f404fa97b Successfully built pycallgraph Installing collected packages: pycallgraph Successfully installed pycallgraph-1.0.1 You are using pip version 8.0.1, however version 8.0.2 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
これで入れ替え完了です。
pylintのpyreserveでpycallgraphパッケージのUML図を生成する
linuxBean14.04(50)pyreverseの結果の見方とオプションの使い方と同様にします。
py335にインストールしたpycallgraphは~/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraphにあります。
source activate py335
pyreverse -o png -p Pycallgraph ~/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph
pq@pq-VirtualBox:~$ source activate py335 discarding /home/pq/anaconda3/bin from PATH prepending /home/pq/anaconda3/envs/py335/bin to PATH (py335)pq@pq-VirtualBox:~$ pyreverse -o png -p Pycallgraph ~/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/__init__.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/globbing_filter.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/config.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/pycallgraph.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/memory_profiler.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/exceptions.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/tracer.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/util.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/__init__.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/metadata.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/color.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/output/pickle.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/output/ubigraph.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/output/output.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/output/graphviz.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/output/gephi.py... parsing /home/pq/anaconda3/envs/py335/lib/python3.3/site-packages/pycallgraph/output/__init__.py...これでホームフォルダにclasses_Pycallgraph.pngとpackages_Pycallgraph.pngが出力されました。
これはクラス図です。
コンポジションの枝の横の緑字はインスタンス名を表します。
それでこれで何をしたいかというと「オブジェクト指向プログラミング」の具体的なやり方がよくわからないのでこのpycallgraphパッケージのソースを参考にしたいわけです。
0 件のコメント:
コメントを投稿