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

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

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

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

Anaconda

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

Python 3.x

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

解決済

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

mitsuyuki
mitsuyuki

総合スコア17

Jupyter

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

Anaconda

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

Python 3.x

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

1回答

0評価

0クリップ

250閲覧

投稿2022/04/15 02:20

編集2022/04/15 16:02

環境: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で探してみたりしたのですが、
よくわかりません。

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

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

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

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

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Jupyter

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

Anaconda

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

Python 3.x

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