【PyInstaller】インストールしてもpyinstaller がコマンドとして認識されない問題【解決】
はじめに
どうも!python
に触り始めてからC
を書く気が失せてしまったロピタルです( 一一)
今回は、python
のファイルをWindows
用の実行ファイル(.exe)に変換できるPyInstaller
というツールをインストールする際にパス周りで苦労したので、簡単に解決までの道のりを書いときます(^^♪
結論だけ手短に話すと、Microsoft Store
でインストールしたPyhton
だとうまくいかなかったみたいです。こちらのサイトを参考にインストールし直したらうまくいきました。
もくじ
環境
Windows 10
にPython 3.7.9
がインストールされている状態です。なお、PyInstaller
はWSL
上では正しく動かないっぽいです。(一度、何も考えずWSL
上でインストールして実行したのですが、出力されたファイルが実行ファイルでも何でもありませんでした笑)
状況
公式ページの通りにpip
を用いてインストールを行いました。
pip install pyinstaller
インストールは無事完了しました。pip list
で確認。
> pip list Package Version ------------------------- --------- altgraph 0.17 future 0.18.2 pefile 2019.4.18 pip 20.2.4 pyinstaller 4.0 pyinstaller-hooks-contrib 2020.10 pywin32-ctypes 0.2.0 setuptools 40.6.2
確かにインストールされています。しかし、pyinstaller
を実行しようとすると
> pyinstaller 'pyinstaller' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
となります。
解決
解決を順を追って書きます。
解決案1(失敗):パスを通す
「操作可能なプログラムとして認識されていない」ということだったので、pyinstallerのインストール先を環境変数のPATH
に追加することを考えました。
インストール先は以下のコマンドで確認可能です。
pip -show pyinstaller
インストール先を確認しましたが実行ファイルは見つからず、パスを通しても無意味でした( 一一)
解決案2(失敗):インストール方法の変更
ネットで調べると、インストールコマンドが
pip install pyinstaller
でなく
pip install PyInstaller
となっているページがあることに気づきました。
そこで、下のコマンドで行ったところインストール時に「ここをパスに追加してね!」的なメッセージが表示されました!そして、そこをパスに追加するとpyinstaller
が動作しました( *´艸`)
しかし…
うまく動作しない問題
pyinstaller sample.py
といった形で実行したところ、以下のようなエラーが(-_-;)
raise error(exception.winerror, exception.function, exception.strerror) win32ctypes.pywin32.pywintypes.error: (1920, 'LoadLibraryExW', 'The file cannot be accessed by the system.')
どうしたものか…
解決案3(成功):Pythonを再インストール
Microsoft Store
でインストールしたPyhton
だとうまくいかないみたいです(-_-;)その原因を探ろうかとも思ったのですが、難しそうなので諦めました(すみません)
でことで、Python
をアンインストールし、こちらのサイトを参考に再インストールしたところ無事にpyinstaller
を利用することができました!
python
のコードを実行ファイルに変換できるの便利!!!!!!!
まとめ
今回はpyinstaller
のインストールで詰まった点について書きました!
しょうもない記事でしたが、お役に立てば幸いです(-_-;)