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

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

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

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

PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

816閲覧

pyinstallerで分割したファイルを実行ファイル化すると実行できない

su_da221

総合スコア59

Anaconda

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

PyInstaller

PyInstallerは、Pythonのスクリプトを一括でWindowsなどで動く実行可能ファイルに変換できるツールです。このツールを用いることで自作のPythonプログラムを別で使用する場合でもPythonをインストールする必要がありません。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/29 07:58

前提・実現したいこと

同ディレクトリ、同階層にtest.pyとtest2.pyを置いています。

pyinstaller test2.py --onefile

と実行していますが、test.pyに記述している関数が呼び出せないです。

test.py(関数をしまっている)

python

1from selenium import webdriver 2from selenium.webdriver.common.keys import Keys 3from selenium.webdriver.common.by import By 4from selenium.webdriver.common.action_chains import ActionChains 5from selenium.webdriver.chrome.options import Options 6from webdriver_manager.chrome import ChromeDriverManager 7import random 8import os 9import sys 10# from time import sleep, time 11# import requests 12# from bs4 import BeautifulSoup 13# import re 14# from fake_useragent import UserAgent 15# import openpyxl 16# import time 17 18def ui(driver): 19 driver.get('https://note.com/norimac7/n/n55c154a58290') 20 21 print('ゴリラ') 22 print(driver.title) 23 24 25def startin(): 26 # アクセスの定義づけ 27 options = Options() 28 user_agent = [ 29 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.2 Safari/605.1.15', 30 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15', 31 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'] 32 33 UA = user_agent[random.randrange(0, len(user_agent), 1)] 34 # options.add_argument('--headless') 35 36 #ここで、バージョンなどのチェックをします。 37 driver = webdriver.Chrome(ChromeDriverManager().install()) 38 39 #Google Chromeでページを立ち上げます。 40 driver.get('https://www.google.com/?hl=ja') 41 42 ui(driver)

test2.py(tkinterを入れているメインファイル?)

python

1import tkinter 2from selenium import webdriver 3from selenium.webdriver.common.keys import Keys 4from selenium.webdriver.common.by import By 5from selenium.webdriver.common.action_chains import ActionChains 6from selenium.webdriver.chrome.options import Options 7from webdriver_manager.chrome import ChromeDriverManager 8import random 9 10import test 11 12#Startを押した時の動作 13def start(): 14 #ログインIDの指定 15 if loginId_txt.get() != '': 16 username = loginId_txt.get() 17 else: 18 print('Login IDが入力されていません。') 19 return 20 21 #パスワードの指定 22 if password_txt.get() != '': 23 password = password_txt.get() 24 else: 25 print('Passwordが入力されていません。') 26 return 27 28 29 print('ユーザーネーム:%s' % username) 30 print('パスワード:%s' % password) 31 32 33 test.startin() 34 35# tkinterメイン 36if __name__ == '__main__': 37 #windowの設定 38 root = tkinter.Tk() # tkinterの読み込み 39 root.title('test222') # アプリケーションのタイトル 40 root.geometry('450x370') # ウィンドウのサイズ 41 42 #tkinter設定 43 FORM_X = 20 44 FORM_Y = 20 45 PARAM_X = 20 46 PARAM_Y = 100 47 START_X = 20 48 START_Y = 300 49 TAG_X = 260 50 TAG_Y = 20 51 52 #ログインフォーム 53 loginId_lbl = tkinter.Label(text='Login Id') 54 loginId_lbl.place(x=FORM_X, y=FORM_Y) 55 loginId_txt = tkinter.Entry(width=10) 56 loginId_txt.place(x=FORM_X+100, y=FORM_Y) 57 password_lbl = tkinter.Label(text='Password') 58 password_lbl.place(x=FORM_X, y=FORM_Y+30) 59 password_txt = tkinter.Entry(width=10) 60 password_txt.place(x=FORM_X+100, y=FORM_Y+30) 61 62 63 #ボタンの生成 64 start_btn = tkinter.Button(root, text='Start', command=start) 65 start_btn.place(x=START_X, y=START_Y) 66 67 # メインループ 68 root.mainloop()

作成された実行ファイルはdist > test2.execです。
ターミナルで python test2.pyと実行した時は実行できます。

発生している問題・エラーメッセージ

コンソールにでたエラーメッセージ

Traceback (most recent call last): File "tkinter/__init__.py", line 1921, in __call__ File "test2.py", line 34, in start AttributeError: module 'test' has no attribute 'startin'

該当のソースコード

ソースコード

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

anaconda
python 3.10

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問