質問編集履歴

5

modulefinder result

2019/01/19 20:05

投稿

Karasuryu
Karasuryu

スコア52

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,533 @@
25
25
  import datetime
26
26
 
27
27
  です。
28
+
29
+
30
+
31
+ #modulefinderは以下のように使いました。
32
+
33
+
34
+
35
+ ####module_finder.py
36
+
37
+ ```from modulefinder import ModuleFinder
38
+
39
+
40
+
41
+ finder = ModuleFinder()
42
+
43
+ finder.run_script('a.py')
44
+
45
+
46
+
47
+ print('Loaded modules:')
48
+
49
+ for name, mod in finder.modules.items():
50
+
51
+ print('%s: ' % name, end='')
52
+
53
+ print(','.join(list(mod.globalnames.keys())[:3]))
54
+
55
+
56
+
57
+ print('-'*50)
58
+
59
+ print('Modules not imported:')
60
+
61
+ print('\n'.join(finder.badmodules.keys()))
62
+
63
+ ```
64
+
65
+
66
+
67
+ ####a.py
68
+
69
+ ```
70
+
71
+ import re
72
+
73
+ pass
74
+
75
+ ```
76
+
77
+ a.pyはosやsysなど変えてやってみました。
78
+
79
+
80
+
81
+ 結果は以下のようになります。
82
+
83
+ import sysのみの場合
84
+
85
+ ```
86
+
87
+ Loaded modules:
88
+
89
+ __main__: sys
90
+
91
+ sys:
92
+
93
+ --------------------------------------------------
94
+
95
+ Modules not imported:
96
+
97
+
98
+
99
+ ```
100
+
101
+ import reのみの場合
102
+
103
+ ```
104
+
105
+ Loaded modules:
106
+
107
+ __main__: re
108
+
109
+ re: __doc__,enum,sre_compile
110
+
111
+ enum: sys,MappingProxyType,DynamicClassAttribute
112
+
113
+ sys:
114
+
115
+ types: __doc__,sys,_f
116
+
117
+ functools: __doc__,__all__,reduce
118
+
119
+ _functools:
120
+
121
+ abc: __doc__,WeakSet,abstractmethod
122
+
123
+ _weakrefset: ref,__all__,_IterationGuard
124
+
125
+ _weakref:
126
+
127
+ collections: __doc__,__all__,ABCMeta
128
+
129
+ _collections_abc: __doc__,ABCMeta,abstractmethod
130
+
131
+ operator: __doc__,__all__,_abs
132
+
133
+ builtins:
134
+
135
+ _operator:
136
+
137
+ keyword: __doc__,__all__,kwlist
138
+
139
+ heapq: __doc__,__about__,__all__
140
+
141
+ _heapq:
142
+
143
+ doctest: __doc__,__docformat__,__all__
144
+
145
+ __future__: __doc__,all_feature_names,__all__
146
+
147
+ argparse: __doc__,__version__,__all__
148
+
149
+ copy: __doc__,types,weakref
150
+
151
+ weakref: __doc__,getweakrefcount,getweakrefs
152
+
153
+ itertools:
154
+
155
+ atexit:
156
+
157
+ gc:
158
+
159
+ copyreg: __doc__,__all__,dispatch_table
160
+
161
+ os: __doc__,abc,sys
162
+
163
+ errno:
164
+
165
+ stat: __doc__,ST_MODE,ST_INO
166
+
167
+ _stat:
168
+
169
+ posixpath: __doc__,curdir,pardir
170
+
171
+ genericpath: __doc__,os,stat
172
+
173
+ nt:
174
+
175
+ ntpath: __doc__,curdir,pardir
176
+
177
+ warnings: __doc__,sys,__all__
178
+
179
+ _warnings:
180
+
181
+ linecache: __doc__,functools,sys
182
+
183
+ tokenize: __doc__,__author__,__credits__
184
+
185
+ codecs: __doc__,builtins,sys
186
+
187
+ _codecs:
188
+
189
+ encodings: __doc__,codecs,sys
190
+
191
+ encodings.aliases: __doc__,aliases
192
+
193
+ _bootlocale: __doc__,sys,_locale
194
+
195
+ _locale:
196
+
197
+ locale: __doc__,sys,encodings
198
+
199
+ encodings.mbcs: __doc__,mbcs_encode,mbcs_decode
200
+
201
+ io: __doc__,__author__,__all__
202
+
203
+ _io:
204
+
205
+ token: __doc__,__all__,ENDMARKER
206
+
207
+ tracemalloc: Sequence,Iterable,total_ordering
208
+
209
+ fnmatch: __doc__,os,posixpath
210
+
211
+ pickle: __doc__,FunctionType,dispatch_table
212
+
213
+ struct: __all__,_clearcache,__doc__
214
+
215
+ _struct:
216
+
217
+ _compat_pickle: IMPORT_MAPPING,NAME_MAPPING,PYTHON2_EXCEPTIONS
218
+
219
+ _pickle:
220
+
221
+ pprint: __doc__,_collections,re
222
+
223
+ time:
224
+
225
+ _tracemalloc:
226
+
227
+ string: __doc__,__all__,_string
228
+
229
+ _string:
230
+
231
+ subprocess: __doc__,sys,_mswindows
232
+
233
+ signal: _signal,_wraps,_IntEnum
234
+
235
+ _signal:
236
+
237
+ threading: __doc__,_sys,_thread
238
+
239
+ _thread:
240
+
241
+ traceback: __doc__,collections,itertools
242
+
243
+ _collections:
244
+
245
+ _threading_local: __doc__,ref,contextmanager
246
+
247
+ contextlib: __doc__,abc,sys
248
+
249
+ msvcrt:
250
+
251
+ _winapi:
252
+
253
+ select:
254
+
255
+ selectors: __doc__,ABCMeta,abstractmethod
256
+
257
+ math:
258
+
259
+ dummy_threading: __doc__,sys_modules,_dummy_thread
260
+
261
+ _dummy_thread: __doc__,__all__,TIMEOUT_MAX
262
+
263
+ textwrap: __doc__,re,__all__
264
+
265
+ gettext: __doc__,locale,copy
266
+
267
+ difflib: __doc__,__all__,_nlargest
268
+
269
+ inspect: __doc__,__author__,abc
270
+
271
+ ast: __doc__,parse,_NUM_TYPES
272
+
273
+ _ast:
274
+
275
+ dis: __doc__,sys,types
276
+
277
+ opcode: __doc__,__all__,stack_effect
278
+
279
+ _opcode:
280
+
281
+ collections.abc: __doc__,ABCMeta,abstractmethod
282
+
283
+ importlib: __doc__,__all__,_imp
284
+
285
+ _imp:
286
+
287
+ importlib._bootstrap: __doc__,_bootstrap_external,_wrap
288
+
289
+ importlib._bootstrap_external: __doc__,_CASE_INSENSITIVE_PLATFORMS_STR_KEY,_CASE_INSENSITIVE_PLATFORMS_BYTES_KEY
290
+
291
+ importlib.machinery: __doc__,_imp,ModuleSpec
292
+
293
+ pdb: __doc__,os,re
294
+
295
+ cmd: __doc__,string,sys
296
+
297
+ bdb: __doc__,fnmatch,sys
298
+
299
+ reprlib: __doc__,__all__,builtins
300
+
301
+ code: __doc__,sys,traceback
302
+
303
+ codeop: __doc__,__future__,_features
304
+
305
+ glob: __doc__,os,re
306
+
307
+ shlex: __doc__,os,re
308
+
309
+ pydoc: __doc__,__all__,__author__
310
+
311
+ importlib.util: __doc__,abc,module_from_spec
312
+
313
+ importlib.abc: __doc__,_bootstrap,_bootstrap_external
314
+
315
+ pkgutil: __doc__,namedtuple,simplegeneric
316
+
317
+ zipimport:
318
+
319
+ marshal:
320
+
321
+ platform: __doc__,__copyright__,__version__
322
+
323
+ winreg:
324
+
325
+ plistlib: __doc__,__all__,binascii
326
+
327
+ binascii:
328
+
329
+ datetime: __doc__,_time,_math
330
+
331
+ _datetime:
332
+
333
+ _strptime: __doc__,time,locale
334
+
335
+ calendar: __doc__,sys,datetime
336
+
337
+ xml: __doc__,__all__
338
+
339
+ xml.parsers: __doc__
340
+
341
+ xml.parsers.expat: __doc__,sys
342
+
343
+ pyexpat:
344
+
345
+ socket: __doc__,_socket,os
346
+
347
+ _socket:
348
+
349
+ urllib:
350
+
351
+ urllib.parse: __doc__,re,sys
352
+
353
+ tempfile: __doc__,__all__,_functools
354
+
355
+ shutil: __doc__,os,sys
356
+
357
+ zlib:
358
+
359
+ bz2: __doc__,__all__,__author__
360
+
361
+ _compression: __doc__,io,BUFFER_SIZE
362
+
363
+ _bz2:
364
+
365
+ lzma: __doc__,__all__,builtins
366
+
367
+ _lzma:
368
+
369
+ tarfile: __doc__,version,__author__
370
+
371
+ gzip: __doc__,struct,sys
372
+
373
+ zipfile: __doc__,io,os
374
+
375
+ py_compile: __doc__,importlib,os
376
+
377
+ random: __doc__,_warn,_MethodType
378
+
379
+ hashlib: __doc__,__always_supported,algorithms_guaranteed
380
+
381
+ _hashlib:
382
+
383
+ logging: __doc__,sys,os
384
+
385
+ _sha1:
386
+
387
+ _md5:
388
+
389
+ _sha256:
390
+
391
+ _sha512:
392
+
393
+ _blake2:
394
+
395
+ _sha3:
396
+
397
+ bisect: __doc__,insort_right,insort
398
+
399
+ _bisect:
400
+
401
+ _random:
402
+
403
+ tty: __doc__,__all__,IFLAG
404
+
405
+ pydoc_data:
406
+
407
+ pydoc_data.topics: topics
408
+
409
+ http: IntEnum,__all__,HTTPStatus
410
+
411
+ http.server: __doc__,__version__,__all__
412
+
413
+ email: __doc__,__all__,message_from_string
414
+
415
+ email.parser: __doc__,__all__,StringIO
416
+
417
+ email.feedparser: __doc__,__all__,re
418
+
419
+ email.errors: __doc__,MessageError,MessageParseError
420
+
421
+ email._policybase: __doc__,abc,header
422
+
423
+ email.header: __doc__,__all__,re
424
+
425
+ email.quoprimime: __doc__,__all__,re
426
+
427
+ email.base64mime: __doc__,__all__,b64encode
428
+
429
+ base64: __doc__,re,struct
430
+
431
+ getopt: __doc__,__all__,os
432
+
433
+ email.charset: __all__,partial,email
434
+
435
+ email.encoders: __doc__,__all__,_bencode
436
+
437
+ quopri: __doc__,__all__,ESCAPE
438
+
439
+ email.utils: __doc__,__all__,os
440
+
441
+ email._parseaddr: __doc__,__all__,time
442
+
443
+ email.message: __doc__,__all__,re
444
+
445
+ uu: __doc__,binascii,os
446
+
447
+ optparse: __doc__,__version__,__all__
448
+
449
+ email._encoded_words: __doc__,re,base64
450
+
451
+ email.iterators: __doc__,__all__,sys
452
+
453
+ email.generator: __doc__,__all__,re
454
+
455
+ email.policy: __doc__,re,Policy
456
+
457
+ email.headerregistry: __doc__,MappingProxyType,utils
458
+
459
+ email._header_value_parser: __doc__,re,urllib
460
+
461
+ email.contentmanager: binascii,email,quoprimime
462
+
463
+ html: __doc__,_re,_html5
464
+
465
+ html.entities: __doc__,__all__,name2codepoint
466
+
467
+ http.client: __doc__,email,http
468
+
469
+ ssl: __doc__,ipaddress,textwrap
470
+
471
+ ipaddress: __doc__,__version__,functools
472
+
473
+ _ssl:
474
+
475
+ mimetypes: __doc__,os,sys
476
+
477
+ socketserver: __doc__,__version__,socket
478
+
479
+ webbrowser: __doc__,os,shlex
480
+
481
+ unittest: __doc__,__all__,__unittest
482
+
483
+ unittest.result: __doc__,io,sys
484
+
485
+ unittest.util: __doc__,namedtuple,OrderedDict
486
+
487
+ unittest.case: __doc__,sys,functools
488
+
489
+ unittest.suite: __doc__,sys,case
490
+
491
+ unittest.loader: __doc__,os,re
492
+
493
+ unittest.main: __doc__,sys,argparse
494
+
495
+ unittest.runner: __doc__,sys,time
496
+
497
+ unittest.signals: signal,weakref,wraps
498
+
499
+ sre_compile: __doc__,_sre,sre_parse
500
+
501
+ _sre:
502
+
503
+ sre_parse: __doc__,MAGIC,MAXREPEAT
504
+
505
+ sre_constants: __doc__,MAGIC,MAXREPEAT
506
+
507
+ --------------------------------------------------
508
+
509
+ Modules not imported:
510
+
511
+ org.python.core
512
+
513
+ posix
514
+
515
+ pwd
516
+
517
+ collections.Sequence
518
+
519
+ collections.Iterable
520
+
521
+ os.path
522
+
523
+ collections.ChainMap
524
+
525
+ collections.deque
526
+
527
+ _posixsubprocess
528
+
529
+ collections.namedtuple
530
+
531
+ collections.Mapping
532
+
533
+ _dummy_threading
534
+
535
+ _frozen_importlib
536
+
537
+ _frozen_importlib_external
538
+
539
+ collections.OrderedDict
540
+
541
+ readline
542
+
543
+ _winreg
544
+
545
+ java.lang
546
+
547
+ vms_lib
548
+
549
+ grp
550
+
551
+ termios
552
+
553
+ http.HTTPStatus
554
+
555
+
556
+
557
+ ```

4

url

2019/01/19 20:05

投稿

Karasuryu
Karasuryu

スコア52

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ###発生している問題
8
8
 
9
- PythonのスクリプトをEXE化する際、余計なモジュールを一緒にコンパイルしてしまわないようにするために、使われていないモジュールを調べたいのですが、[https://docs.python.jp/3/library/modulefinder.html](https://docs.python.jp/3/library/modulefinder.html "https://docs.python.jp/3/library/modulefinder.html")にある使用例の通りにmodulefinderを使ってみてもどうやら使われていないモジュールまでインポートされたものとしてリストアップされています。コードは煩雑なのでアップしませんが、簡単に言えばファイル内の文字列を検索して置換するためのプログラムです。にもかかわらずemailやurllibまでインポートされています。modulefinderのこの方法では目的が果たせませんでした。
9
+ PythonのスクリプトをEXE化する際、余計なモジュールを一緒にコンパイルしてしまわないようにするために、使われていないモジュールを調べたいのですが、[https://docs.python.jp/3/library/modulefinder.html](https://docs.python.jp/3/library/modulefinder.html)にある使用例の通りにmodulefinderを使ってみてもどうやら使われていないモジュールまでインポートされたものとしてリストアップされています。コードは煩雑なのでアップしませんが、簡単に言えばファイル内の文字列を検索して置換するためのプログラムです。にもかかわらずemailやurllibまでインポートされています。modulefinderのこの方法では目的が果たせませんでした。
10
10
 
11
11
  ちなみにスクリプト内でインポートしているものは
12
12
 

3

markdownの試行錯誤

2019/01/18 11:14

投稿

Karasuryu
Karasuryu

スコア52

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
+ ###本題
2
+
1
- ###実際にスクリプト内で使われることになるモジュールだけをリストアップする方法を知っている方がいれば教えてください。
3
+ ##実際にスクリプト内で使われることになるモジュールだけをリストアップする方法を知っている方がいれば教えてください。
2
4
 
3
5
 
4
6
 

2

マイナーチェンジ

2019/01/18 11:12

投稿

Karasuryu
Karasuryu

スコア52

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 実際にスクリプト内で使われることになるモジュールだけをリストアップする方法を知っている方がいれば教えてください。
1
+ ###実際にスクリプト内で使われることになるモジュールだけをリストアップする方法を知っている方がいれば教えてください。
2
2
 
3
3
 
4
4
 

1

参考までにimportリスト

2019/01/18 11:12

投稿

Karasuryu
Karasuryu

スコア52

test CHANGED
File without changes
test CHANGED
@@ -1,5 +1,25 @@
1
- PythonのスクリプトをEXE化する際、余計なモジュールを一緒にコンパイルしてしまわないようにするために、使われていないモジュールを調べたいのですが、[https://docs.python.jp/3/library/modulefinder.html](https://docs.python.jp/3/library/modulefinder.html "https://docs.python.jp/3/library/modulefinder.html")にあ使用例の通りmodulefinderを使ってみてもどうやら使われていモジュールまでインポートされたものとしてリストアップされています。コードは煩雑なのでアップしません、簡単に言ばファイル内の文字列を検索し置換するためのプログラムです。にもかかわらずemailやurllibまでインポートれてますmodulefinderのこの方法では目的が果たせませんでした。
1
+ 実際にスクリプト内で使われることになモジュールだけをリストアップする方法を知っている方いれば教えてください。
2
2
 
3
3
 
4
4
 
5
- 実際にスクリプト内で使われることになるモジュールだけをリストアップする方法を知っている方がいれば教えてください。
5
+ ###発生している問題
6
+
7
+ PythonのスクリプトをEXE化する際、余計なモジュールを一緒にコンパイルしてしまわないようにするために、使われていないモジュールを調べたいのですが、[https://docs.python.jp/3/library/modulefinder.html](https://docs.python.jp/3/library/modulefinder.html "https://docs.python.jp/3/library/modulefinder.html")にある使用例の通りにmodulefinderを使ってみてもどうやら使われていないモジュールまでインポートされたものとしてリストアップされています。コードは煩雑なのでアップしませんが、簡単に言えばファイル内の文字列を検索して置換するためのプログラムです。にもかかわらずemailやurllibまでインポートされています。modulefinderのこの方法では目的が果たせませんでした。
8
+
9
+ ちなみにスクリプト内でインポートしているものは
10
+
11
+ import sys
12
+
13
+ import os
14
+
15
+ import subprocess
16
+
17
+ import glob
18
+
19
+ import re
20
+
21
+ import chardet
22
+
23
+ import datetime
24
+
25
+ です。