3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[CGデザイナー向け]とりあえずPySide2が触りたいんじゃ!というときに見るやつ

Last updated at Posted at 2021-08-14

##はじめに##
最近Python触るようになってきたのはいいけども、CGソフトの中だけだし。。
それ以外のところでもちょっと使ってみたい!というときに色んなサイトを検索すると、仮想環境を整え終わった前提での記事などが多く見受けられたので、PythonやPySideをいれるところで苦労したり挫折してしまいます。
「とにかく難しいことはええから、とりあえずPySide2が触りたいんじゃ!」

というわけで、自分なりにPySideのサンプルを起動できるまでを備忘録程度に書いていきます。

##環境と使用ソフト##
・Windows 10
・Visual Studio Code (以下、VS Code)
・Scoop

##手順##
1 VS Codeをインストール
2 ScoopでPythonをインストール
3 Pythonの仮想環境を作成
4 PySide2をインストール、サンプルを作成して起動
5 実行バッチを作成

以上が手順になります。

他PCでも使えるように、フォルダごとコピーしてバッチを走らせればサンプルが起動できるようにしています。
###追記###
他PCで使用するためには、コピーしてもっていくだけでは機能しないようです。。
以下の記事を参考に、「Python embeddable」を使用するのが良いと思います。
https://qiita.com/mm_sys/items/1fd3a50a930dac3db299
https://qiita.com/rhene/items/68941aced93ccc9c3071

##1 VS Codeをインストール##

上記サイトのDownload nowからwindows版をダウンロード。

ダウンロードしたexeを開いて、何も考えず「次へ」を押していきインストール。

こちらのサイトを参考にVS Codeを日本語化します。

view>Coomand Paletteを選択
2021-08-14_22h23_00.png
「display」と入力すると、「Configure Display Language」と表示されるのでクリックします。
2021-08-14_22h25_20.png

すると、enのみの表示になっているため、
Install additional langages をクリックします。

2021-08-14_22h26_39.png
すると、拡張機能の一覧が表示されますので「Japanese Language Pack for Visual Studio Code」をクリックし、Installをクリックすると、画面右下に「Restart」がでてくるのでクリックして再起動します。

2021-08-14_22h34_23.png

2021-08-14_22h35_00.png

これで日本語化できました。

2021-08-14_22h38_54.png

##2 ScoopでPythonをインストール##

まずは、Scoopをインストールします。

Windows PowerShellを起動。
下記のコマンドを入力して実行します。

Set-ExecutionPolicy RemoteSigned -scope CurrentUser
invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')

以下のメッセージが表示されるので Y を入力。

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"):

以下のメッセージが出れば、Scoopのインストールは完了です。

Initializing...
Downloading scoop...
Extracting...
Creating shim...
Downloading main bucket...
Extracting...
'lastupdate' has been set to '2021-08-14T15:44:08.4191105+09:00'
Scoop was installed successfully!
Type 'scoop help' for instructions.

続いては、先ほどインストールしたScoopを使用してPythonをインストールしていきます。

コマンドプロンプトを起動して、以下のコマンドを入力して実行します。

scoop install python

するとpythonのインストールが始まります。

'python' (3.9.6) was installed successfully!

上記の文言がでました。
どうやらpythonの3.9.6がインストールされたようです。
pythonは以下にインストールされているはずです。

C:\Users\ユーザー名\scoop\apps\python\3.9.6

2021-08-14_18h27_24.png

これでpythonのインストールは完了です。

Scoopに関して詳しくは、@rheneさんが纏めてくださっています。詳しくはこちらに書かれています。

##3 Pythonの仮想環境を作成##

まず、好きな場所に仮想環境を構築するフォルダを作成します。

このフォルダ内にpythonを扱う環境を作成します。
このフォルダ内で完結できるので他のPCにフォルダごとコピーすれば起動できるといったイメージです。

D:\PySideTest
今回は上記にフォルダを作成しました。

作成フォルダのアドレスバーに「cmd」と入力して実行します。
2021-08-14_16h54_43.png

すると、カレントディレクトリが作成したフォルダになっている状態でコマンドプロンプトが起動します。

コマンドプロンプトに以下のコマンドを入力します。

%userprofile%\scoop\apps\python\3.9.6\python -m venv python39

【コード解説】
・%userprofile%\scoop\apps\python\3.9.6\python
ここで先ほどインストールしたpythonを指定しています。
他のバージョンが入っている場合は、「3.9.6」の部分をインストールしたバージョンにします。
・-m venv python39
この部分は「python39」という環境フォルダをvenvでつくるという指示をだしています。
venvは、pythonに入っている仮想環境を作成するモジュールです。

これで環境は作成されました。

続いては、VS Codeで作業できる環境を作っていきます。
VS Codeを起動します。

ファイル>フォルダを開く
から先ほどの「PySideTest」フォルダを選択します。

エクスプローラータブの上で右クリックし、新しいファイルを作成します。
2021-08-14_17h14_31.png

今回は「main.py」という名前で作成しました。

すると画面右下にダイアログが出てきますので、ダイアログの「Select Python Interpreter」をクリックします。
2021-08-14_17h18_06.png

注意
お勧めの拡張機能をインストールするかのダイアログが出てきた際は、ダイアログの指示に従ってインストールしてください。
恐らくPythonの拡張機能だと思うので、インストールした後は画面左下を確認して、Pythonが認識されているか確認してください。

すると、どのpython.exeを使うか聞いてくるので、先ほど作った環境フォルダ内にある「python.exe」を選択します。
2021-08-14_17h18_53.png

画面左下の表示が以下の画像のようになれば、成功です。
2021-08-14_17h23_11.png

main.pyで以下のコマンドを入力してみます。

print("Hello World")

そして、右上の緑の再生ボタンをクリックして実行してみます。
2021-08-14_17h34_04.png

「Hello World」がコンソールに表示されると成功です。
コンソールの表示も緑で(python39)との表示がでているので、しっかりと環境構築したpythonから実行してくれているようです。

##4 PySide2をインストール、サンプルを作成して起動##

PySide2をインストールしていきます。

ターミナル>新しいターミナル
で新しくターミナルを立ち上げます。

2021-08-14_17h41_32.png

立ち上げたターミナルで以下のコマンドを入力して実行します。

pip install PySide2

2021-08-14_17h44_16.png
PySide2がインストールされました。

Pythonを検索する際によくでてくる「pip install」はここで使います。
これで色んなモジュールがインストール出来るようになりました。
他にも検索すると便利なモジュールがたくさんあるので、探してみてください。

サンプルコードを持ってきます。
こちらの公式サイトからサンプルをコピーします。
コピーしてきたのが、以下です。

import sys
from PySide2.QtWidgets import QApplication, QDialog, QLineEdit, QPushButton

class Form(QDialog):

    def __init__(self, parent=None):
        super(Form, self).__init__(parent)
        self.setWindowTitle("My Form")


if __name__ == '__main__':
    # Create the Qt Application
    app = QApplication(sys.argv)
    # Create and show the form
    form = Form()
    form.show()
    # Run the main Qt loop
    sys.exit(app.exec_())

コピーしたコードを、先ほどの「main.py」にペーストして、実行してみます。

2021-08-14_17h56_10.png

「My Form」というウィンドウが立ち上がると成功です。

##5 実行バッチを作成##

VS Codeを開かなくても起動できるようにバッチを作成します。

新しいテキストドキュメントをフォルダ内に作成します。

今回は「Run.cmd」という名前で作成しました。

2021-08-14_18h01_49.png

作成したバッチファイルを右クリックして、「編集」をクリックして開きます。

以下のコマンドを入力して保存します。

cd /d %~dp0
python39\Scripts\python.exe main.py

【コード解説】
・cd /d %~dp0
カレントディレクトリを、現在実行しているファイルのあるフォルダへと移動させています。
詳しい解説はこちらを参照ください。
・python39\Scripts\python.exe main.py
仮想環境内のpythonを使用して、カレントディレクトリ内の「main.py」を起動させています。

保存したバッチファイルをクリックして起動してみます。
2021-08-14_18h16_04.png

My Form というウィンドウが立ち上がりました、成功です。
お疲れ様でした!!!

##最後に##

中身はすっからかんですが、PySide2のスタンドアローンなウィンドウが立ち上がりました。
ググると色々なPySide2のサンプルファイルや色んなモジュールがあります。
中身はググって試行錯誤し、自分だけのオリジナルのツールを開発して楽しんでください!

##参考##

Scoopを使った環境構築
Windowsで環境を極力汚さずにPythonを動かす方法 (Scoop編)
VS CodeでWorkspace毎に使用するPython実行環境を切り替える
VS Codeの拡張機能でPythonの仮想環境構築からコード整形、Lintまでを体験してみよう

3
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?