前回の記事でPySide2をPyenv+Virtualenv環境下にインストールしたはいいが、QtDesignerで作成したUIファイルを変換するツールであるpyside2-uicがうまく動作しなかったので、対処法をメモ
$ pyside2-uic
Traceback (most recent call last):
(中略)
File "/home/hoge_user/.pyenv/versions/pyside_test/lib/python3.5/site-packages/PySide2-2.0.0.dev0-py3.5-linux-x86_64.egg/pyside2uic/__init__.py", line 27, in <module>
from pyside2uic.Compiler import indenter, compiler
と出てきたので、エラー表示にあるpyside2uicディレクトリまでのパスをメモ(パスはVirtualenv名などによって異なる)
$ cd [メモしたディレクトリ]
$ ll
合計 88
drwxrwxr-x 3 hoge_user hoge_user 4096 4月 10 11:37 ./
drwxrwxr-x 5 hoge_user hoge_user 4096 4月 10 11:35 ../
-rw-rw-r-- 1 hoge_user hoge_user 5027 4月 10 11:37 __init__.py
drwxrwxr-x 2 hoge_user hoge_user 4096 4月 10 11:37 __pycache__/
-rw-rw-r-- 1 hoge_user hoge_user 4039 4月 10 11:35 driver.py
-rw-rw-r-- 1 hoge_user hoge_user 1101 4月 10 11:35 exceptions.py
-rw-rw-r-- 1 hoge_user hoge_user 4533 4月 10 11:35 icon_cache.py
-rw-rw-r-- 1 hoge_user hoge_user 3986 4月 10 11:35 objcreator.py
-rw-rw-r-- 1 hoge_user hoge_user 16295 4月 10 11:35 properties.py
-rw-rw-r-- 1 hoge_user hoge_user 32268 4月 10 11:35 uiparser.py
ディレクトリを覗いてみると、実際Compilerディレクトリは見当たらない
そこで、前回の記事でcloneしてきたgitリポジトリを見てみると・・・
$ cd pyside2-setup/pyside_package/pyside2uic/
$ ll
合計 96
drwxr-xr-x 5 hoge_user hoge_user 4096 4月 10 11:35 ./
drwxrwxr-x 5 hoge_user hoge_user 4096 4月 10 11:35 ../
drwxr-xr-x 2 hoge_user hoge_user 4096 4月 10 11:35 Compiler/
-rw-r--r-- 1 hoge_user hoge_user 5000 4月 10 11:35 __init__.py
-rw-r--r-- 1 hoge_user hoge_user 4039 4月 10 11:07 driver.py
-rw-r--r-- 1 hoge_user hoge_user 1101 4月 10 11:07 exceptions.py
-rw-r--r-- 1 hoge_user hoge_user 4533 4月 10 11:07 icon_cache.py
-rw-r--r-- 1 hoge_user hoge_user 3986 4月 10 11:15 objcreator.py
drwxr-xr-x 2 hoge_user hoge_user 4096 4月 10 11:35 port_v3/
-rw-r--r-- 1 hoge_user hoge_user 16295 4月 10 11:07 properties.py
-rw-r--r-- 1 hoge_user hoge_user 32268 4月 10 11:07 uiparser.py
drwxr-xr-x 2 hoge_user hoge_user 4096 4月 10 11:35 widget-plugins/
Compilerディレクトリ発見 port_v3、widget-pluginsディレクトリなんてものもある とりあえず全部コピーする
$ cp -r port_v3 [メモしたディレクトリ]
$ cp -r widget-plugins [メモしたディレクトリ]
$ cp -r Compiler [メモしたディレクトリ]
$ pyside2-uic
Error: one input ui-file must be specified
インポートエラーなどは出ないようになった
UIファイルを指定しての実行もうまく動作した