質問編集履歴
12
変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
|
12
12
|
**[exe実行環境]**
|
13
13
|
ffmpeg(環境パス設定済み)
|
14
|
+
??(python3.10デフォルト環境にpip install yt-dlpでなぜかexeのエラーが無くなる)
|
14
15
|
|
15
16
|
---
|
16
17
|
**初めにざっとした説明**
|
11
書き忘れ
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,9 @@
|
|
7
7
|
pyinstaller 5.6.1
|
8
8
|
ffmpeg-python 0.2.0
|
9
9
|
[その他]
|
10
|
+
ffmpeg(環境パス設定済み)
|
11
|
+
|
12
|
+
**[exe実行環境]**
|
10
13
|
ffmpeg(環境パス設定済み)
|
11
14
|
|
12
15
|
---
|
10
書き忘れ
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,6 +5,7 @@
|
|
5
5
|
[pip]
|
6
6
|
yt-dlp 2022.10.4
|
7
7
|
pyinstaller 5.6.1
|
8
|
+
ffmpeg-python 0.2.0
|
8
9
|
[その他]
|
9
10
|
ffmpeg(環境パス設定済み)
|
10
11
|
|
9
原因予測
test
CHANGED
File without changes
|
test
CHANGED
@@ -110,4 +110,11 @@
|
|
110
110
|
--hidden-import ではだめのようです。(::>_<::)
|
111
111
|
--hidden-importの使い方がよくわからないので誰か教えてください。<( _ _ )>
|
112
112
|
|
113
|
+
### 原因予測
|
113
114
|
|
115
|
+
exeを実行するPCのデフォルト環境にpip install yt-dlpすることでエラーが無くなり問題なく動作することから
|
116
|
+
①exe化でライブラリの同梱に失敗してる
|
117
|
+
②exe化するとライブラリを同梱してもライブラリが呼び出せないコードの書き方をしている
|
118
|
+
また予測が正しければ.pyファイルで問題なく動作してexeではエラーが出ていたのも説明がつきます
|
119
|
+
|
120
|
+
|
8
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -84,12 +84,15 @@
|
|
84
84
|
というわけでexe化のやり直しです
|
85
85
|
調べると--hidden-importでライブラリ名を指定すると同梱できるみたい??
|
86
86
|
--hidden-import yt-dlpではコンパイルでエラーが出ていました
|
87
|
+
コマンドではyt-dlpですがパッケージの中ではライブラリファイル名はyt_dlpになってました
|
88
|
+
(気づくのに時間がかかった…(⊙_⊙;))
|
87
89
|
|
88
90
|
```
|
89
91
|
5093 INFO: Analyzing hidden import 'yt-dlp'
|
90
92
|
5094 ERROR: Hidden import 'yt-dlp' not found
|
91
93
|
```
|
94
|
+
yt-dlpからyt_dlpに直してやり直し
|
92
|
-
|
95
|
+
--hidden-import yt_dlpでコンパイルするとエラーは発生しませんでした
|
93
96
|
しかしexe実行してみると前と同じエラーが…
|
94
97
|
```ここに言語を入力
|
95
98
|
Exception in thread Thread-1 (ytdlp):
|
7
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -45,15 +45,16 @@
|
|
45
45
|
このコードをターミナル上で動かすと**問題なく動作しました。**(。・∀・)ノ゙
|
46
46
|
しかしpyinstallerで**exe化すると下のエラー**が発生してしまいました。(っ °Д °;)っ
|
47
47
|
```
|
48
|
-
Exception in thread Thread-1 (
|
48
|
+
Exception in thread Thread-1 (ytdlp):
|
49
49
|
Traceback (most recent call last):
|
50
50
|
File "threading.py", line 1009, in _bootstrap_inner
|
51
51
|
File "threading.py", line 946, in run
|
52
|
-
File "yt-dlp_test.py", line 9, in
|
52
|
+
File "yt-dlp_test.py", line 9, in ytdlp
|
53
53
|
File "subprocess.py", line 501, in run
|
54
54
|
File "subprocess.py", line 966, in __init__
|
55
55
|
File "subprocess.py", line 1435, in _execute_child
|
56
56
|
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
|
57
|
+
|
57
58
|
```
|
58
59
|
|
59
60
|
### exe化
|
@@ -91,15 +92,16 @@
|
|
91
92
|
次に--hidden-import yt_dlpでコンパイルするとエラーは発生しませんでした
|
92
93
|
しかしexe実行してみると前と同じエラーが…
|
93
94
|
```ここに言語を入力
|
94
|
-
Exception in thread Thread-1 (
|
95
|
+
Exception in thread Thread-1 (ytdlp):
|
95
96
|
Traceback (most recent call last):
|
96
97
|
File "threading.py", line 1009, in _bootstrap_inner
|
97
98
|
File "threading.py", line 946, in run
|
98
|
-
File "yt-dlp_test.py", line
|
99
|
+
File "yt-dlp_test.py", line 9, in ytdlp
|
99
100
|
File "subprocess.py", line 501, in run
|
100
101
|
File "subprocess.py", line 966, in __init__
|
101
102
|
File "subprocess.py", line 1435, in _execute_child
|
102
103
|
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
|
104
|
+
|
103
105
|
```
|
104
106
|
|
105
107
|
--hidden-import ではだめのようです。(::>_<::)
|
6
進展1.4
test
CHANGED
File without changes
|
test
CHANGED
@@ -82,16 +82,27 @@
|
|
82
82
|
---
|
83
83
|
というわけでexe化のやり直しです
|
84
84
|
調べると--hidden-importでライブラリ名を指定すると同梱できるみたい??
|
85
|
-
--hidden-import yt-dlp
|
85
|
+
--hidden-import yt-dlpではコンパイルでエラーが出ていました
|
86
|
-
|
86
|
+
|
87
|
-
pyinstaller yt-dlp_test.py --onefile --hidden-import yt-dlp
|
88
87
|
```
|
89
|
-
出力結果を見るとエラーが出ていました
|
90
|
-
```ここに言語を入力
|
91
88
|
5093 INFO: Analyzing hidden import 'yt-dlp'
|
92
89
|
5094 ERROR: Hidden import 'yt-dlp' not found
|
93
90
|
```
|
91
|
+
次に--hidden-import yt_dlpでコンパイルするとエラーは発生しませんでした
|
92
|
+
しかしexe実行してみると前と同じエラーが…
|
93
|
+
```ここに言語を入力
|
94
|
+
Exception in thread Thread-1 (cmd):
|
95
|
+
Traceback (most recent call last):
|
96
|
+
File "threading.py", line 1009, in _bootstrap_inner
|
97
|
+
File "threading.py", line 946, in run
|
98
|
+
File "yt-dlp_test.py", line 8, in cmd
|
99
|
+
File "subprocess.py", line 501, in run
|
100
|
+
File "subprocess.py", line 966, in __init__
|
101
|
+
File "subprocess.py", line 1435, in _execute_child
|
102
|
+
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。
|
103
|
+
```
|
104
|
+
|
94
|
-
--hidden-import
|
105
|
+
--hidden-import ではだめのようです。(::>_<::)
|
95
106
|
--hidden-importの使い方がよくわからないので誰か教えてください。<( _ _ )>
|
96
107
|
|
97
108
|
|
5
進展1.3
test
CHANGED
File without changes
|
test
CHANGED
@@ -82,7 +82,7 @@
|
|
82
82
|
---
|
83
83
|
というわけでexe化のやり直しです
|
84
84
|
調べると--hidden-importでライブラリ名を指定すると同梱できるみたい??
|
85
|
-
--hidden-import
|
85
|
+
--hidden-import yt-dlp を追加してコンパイルしました
|
86
86
|
```ここに言語を入力
|
87
87
|
pyinstaller yt-dlp_test.py --onefile --hidden-import yt-dlp
|
88
88
|
```
|
4
進展1.2
test
CHANGED
File without changes
|
test
CHANGED
@@ -84,14 +84,14 @@
|
|
84
84
|
調べると--hidden-importでライブラリ名を指定すると同梱できるみたい??
|
85
85
|
--hidden-import = yt-dlp を追加してコンパイルしました
|
86
86
|
```ここに言語を入力
|
87
|
-
pyinstaller yt-dlp_test.py --onefile --hidden-import
|
87
|
+
pyinstaller yt-dlp_test.py --onefile --hidden-import yt-dlp
|
88
88
|
```
|
89
89
|
出力結果を見るとエラーが出ていました
|
90
90
|
```ここに言語を入力
|
91
91
|
5093 INFO: Analyzing hidden import 'yt-dlp'
|
92
92
|
5094 ERROR: Hidden import 'yt-dlp' not found
|
93
93
|
```
|
94
|
-
--hidden-import
|
94
|
+
--hidden-import yt-dlp ではだめのようです。(::>_<::)
|
95
95
|
--hidden-importの使い方がよくわからないので誰か教えてください。<( _ _ )>
|
96
96
|
|
97
97
|
|
3
進展1.1
test
CHANGED
File without changes
|
test
CHANGED
@@ -71,10 +71,12 @@
|
|
71
71
|
思っているのでコードのミスなのかexe化を失敗しているかだけでもわかると助かります。<(_ _)>
|
72
72
|
|
73
73
|
### 進展
|
74
|
-
エラーの発生している行がyt-dlpのコマンドを実行をしている部分なのでyt-dlpライブラリを
|
74
|
+
エラーの発生している行がyt-dlpのコマンドを実行をしている部分なのでyt-dlpライブラリを
|
75
|
+
取り込めずにexe化してしまった結果エラーが発生していると考え、
|
75
|
-
|
76
|
+
試しに別PCで pip install yt-dlp を行いエラーが出ていたexeを動かすと
|
76
|
-
|
77
|
+
正常に動作しました。q(≧▽≦q)
|
77
|
-
pip uninstall yt-dlp でまたエラーが発生するようになったのでexe化で
|
78
|
+
pip uninstall yt-dlp でまたエラーが発生するようになったのでexe化で
|
79
|
+
yt-dlpライブラリが同梱できていないようです。
|
78
80
|
これで問題解決に大きく近づきました(๑•̀ㅂ•́)و✧
|
79
81
|
|
80
82
|
---
|
2
進展1
test
CHANGED
File without changes
|
test
CHANGED
@@ -70,6 +70,26 @@
|
|
70
70
|
ターミナルでは問題なく動いているのですが、そもそもコードが間違っている可能性もあると
|
71
71
|
思っているのでコードのミスなのかexe化を失敗しているかだけでもわかると助かります。<(_ _)>
|
72
72
|
|
73
|
+
### 進展
|
74
|
+
エラーの発生している行がyt-dlpのコマンドを実行をしている部分なのでyt-dlpライブラリを取り込めずにexe化
|
75
|
+
してしまった結果エラーが発生していると考え、試しに別PCで pip install yt-dlp を行いエラーが出ていたexeを
|
76
|
+
動かすと正常に動作しました。q(≧▽≦q)
|
77
|
+
pip uninstall yt-dlp でまたエラーが発生するようになったのでexe化でyt-dlpライブラリが同梱できていないようです。
|
78
|
+
これで問題解決に大きく近づきました(๑•̀ㅂ•́)و✧
|
79
|
+
|
73
80
|
---
|
81
|
+
というわけでexe化のやり直しです
|
82
|
+
調べると--hidden-importでライブラリ名を指定すると同梱できるみたい??
|
83
|
+
--hidden-import = yt-dlp を追加してコンパイルしました
|
84
|
+
```ここに言語を入力
|
85
|
+
pyinstaller yt-dlp_test.py --onefile --hidden-import=yt-dlp
|
86
|
+
```
|
87
|
+
出力結果を見るとエラーが出ていました
|
88
|
+
```ここに言語を入力
|
89
|
+
5093 INFO: Analyzing hidden import 'yt-dlp'
|
90
|
+
5094 ERROR: Hidden import 'yt-dlp' not found
|
91
|
+
```
|
92
|
+
--hidden-import=yt-dlp ではだめのようです。(::>_<::)
|
93
|
+
--hidden-importの使い方がよくわからないので誰か教えてください。<( _ _ )>
|
74
94
|
|
75
95
|
|
1
関数名変更
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,13 +22,14 @@
|
|
22
22
|
import subprocess
|
23
23
|
import threading
|
24
24
|
|
25
|
-
def
|
25
|
+
def ytdlp():
|
26
|
+
cmd = "yt-dlp -f wv[ext=webm]+wa[ext=webm]/b --merge-output-format webm --recode-video mp4 \
|
26
|
-
|
27
|
+
https://youtu.be/X4ABxxkx6YU"
|
27
28
|
proc = subprocess.run(cmd , stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True,shell= False)
|
28
29
|
print("正常>>>"+proc.stdout)
|
29
30
|
print("エラー>>>"+proc.stderr)
|
30
31
|
|
31
|
-
thread = threading.Thread(target =
|
32
|
+
thread = threading.Thread(target = ytdlp)
|
32
33
|
thread.start()
|
33
34
|
|
34
35
|
root = tk.Tk()
|