質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

548閲覧

python pyファイルのexe化ができない

mitsuyuki

総合スコア20

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/04/15 02:20

編集2022/04/15 02:21

環境:windows10 pro,jupyter notebookにて記述(jupyter notebook上では正常にプログラムは動きます)
→pyファイルをexe化しようとすると、構文エラーでexe化できません。

以下が作成(ほかの方が作成して、参考に記述した)したコードです。


pip install QRcode
pip install pypng
import tkinter
from tkinter import messagebox
import qrcode
import os

#QRコード画像デフォルトファイル名
QR_DEFAULT_FILE_NAME = 'result'
#QRコード拡張子
QR_FILE_EXTENSION = '.png'

#QRコード作成
def createQrCode(str,fileName):
if str == "" or fileName == "":
messagebox.showinfo("確認", "文字列またはファイル名が未入力です。")
else:
#QRコード化したい文字列を設定
img = qrcode.make(str)

#画像ファイルを保存 img.save(fileName + QR_FILE_EXTENSION) resultPath = getOutPutQrCodePath(fileName) #完了メッセージ messagebox.showinfo("確認", "QRコードを出力しました。" + resultPath)

#出力したファイルパスの取得
def getOutPutQrCodePath(fileName):
path = os.getcwd()
return path + '\' + fileName + QR_FILE_EXTENSION

root = tkinter.Tk()

#タイトル
root.title('QRコード変換')

#ウインドウサイズ
root.geometry("800x250")

#QRコード化したい文字列
lblQrStr = tkinter.Label(text='QRコード化したい文字列を入力して下さい。')
lblQrStr.place(x=30, y=40)

txtStr = tkinter.Entry(width=120)
txtStr.place(x=30, y=70)

#ファイル名の指定
lblFileName = tkinter.Label(text='ファイル名を指定して下さい、')
lblFileName.place(x=30, y=100)

txtFileName = tkinter.Entry(width=50)
txtFileName.place(x=30, y=130)
txtFileName.insert(tkinter.END,QR_DEFAULT_FILE_NAME)

lblFileExtension = tkinter.Label(text=QR_FILE_EXTENSION)
lblFileExtension.place(x=340, y=130)

#QRコード出力実行ボタン
button = tkinter.Button(root,text = 'QRコード出力',
font=("",18),
fg='#000000',
width= 20,
height = 2,
command = lambda:createQrCode(txtStr.get(),txtFileName.get()))
button.pack(side=tkinter.BOTTOM, padx=30, pady=10)

#メインループ
root.mainloop()


これをanaconda promptで以下のように処理しました。

pip install pyinstaller
pyinstaller MakeQRcode.py --onefile

そうすると、最後に以下のような構文エラーが出ます。

pip install QRcode
^

SyntaxError:invalid syntax

1.全角空白が入っているのかは確認しました。
2.conda installに変えてみたりはしました。
3.一通り、WEBで探してみたりしたのですが、
よくわかりません。

どなたかご教示いただければと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sobasenbei

2022/04/15 02:54

コードの中にpipを書いているのでしょうか?
mitsuyuki

2022/04/15 02:58

書いております
meg_

2022/04/15 03:57 編集

> jupyter notebook上では正常にプログラムは動きます pyファイル単体では正常に動作するのでしょうか? ※どこからどこまでが対象のコードですか?
mitsuyuki

2022/04/15 04:04

pip install QRcode pip install pypng import tkinter from tkinter import messagebox import qrcode import os #QRコード画像デフォルトファイル名 QR_DEFAULT_FILE_NAME = 'result' #QRコード拡張子 QR_FILE_EXTENSION = '.png' #QRコード作成 def createQrCode(str,fileName): if str == "" or fileName == "": messagebox.showinfo("確認", "文字列またはファイル名が未入力です。") else: #QRコード化したい文字列を設定 img = qrcode.make(str) #画像ファイルを保存 img.save(fileName + QR_FILE_EXTENSION) resultPath = getOutPutQrCodePath(fileName) #完了メッセージ messagebox.showinfo("確認", "QRコードを出力しました。" + resultPath) #出力したファイルパスの取得 def getOutPutQrCodePath(fileName): path = os.getcwd() return path + '\' + fileName + QR_FILE_EXTENSION root = tkinter.Tk() #タイトル root.title('QRコード変換') #ウインドウサイズ root.geometry("800x250") #QRコード化したい文字列 lblQrStr = tkinter.Label(text='QRコード化したい文字列を入力して下さい。') lblQrStr.place(x=30, y=40) txtStr = tkinter.Entry(width=120) txtStr.place(x=30, y=70) #ファイル名の指定 lblFileName = tkinter.Label(text='ファイル名を指定して下さい、') lblFileName.place(x=30, y=100) txtFileName = tkinter.Entry(width=50) txtFileName.place(x=30, y=130) txtFileName.insert(tkinter.END,QR_DEFAULT_FILE_NAME) lblFileExtension = tkinter.Label(text=QR_FILE_EXTENSION) lblFileExtension.place(x=340, y=130) #QRコード出力実行ボタン button = tkinter.Button(root,text = 'QRコード出力', font=("",18), fg='#000000', width= 20, height = 2, command = lambda:createQrCode(txtStr.get(),txtFileName.get())) button.pack(side=tkinter.BOTTOM, padx=30, pady=10) #メインループ root.mainloop()
mitsuyuki

2022/04/15 04:05

上記が記述したコードです。 jupyter notebookでしか、動かしていませんが、 正常に動いてはくれています。 QRコードが普通に作られています。
jbpb0

2022/04/15 04:13

pythonのコードに「pip install...」を入れたらダメです その二つの行を削除してみてください
mitsuyuki

2022/04/15 04:35

すみません。すべてのコードをパッケージ化するのだと思っていました。2行削除しましたら、exe化できて、ほかのパソコンでも動きました。ありがとうございました。
mitsuyuki

2022/04/15 04:38

この欄だとベストアンサーが立てられず、すみません。
mitsuyuki

2022/04/15 06:22

yamap55様 ご指摘すみませんでした。 ありがとうございました。
meg_

2022/04/15 06:58

解決されたようで良かったです。 次に質問される場合にはコードはマークダウンで記入お願いします。
mitsuyuki

2022/04/15 07:02

すみませんでした。直そうとしたのですが、修正が反映されず、そのままにしてしまいました。 ご指摘ありがとうございました。
guest

回答1

0

自己解決

jbpb0様にご指摘いただきました通り、
最初の以下の2行を削除することで、解決いたしました。

pip install QRcode
pip install pypng

ありがとうございました。

投稿2022/04/15 06:20

mitsuyuki

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問