Некоторые из этих вопросов я прочитал, но все они, похоже, связаны с методами исключительно для python 2.x, а я работаю в python 3.x.
У меня есть pythonfile, назовите его test.py, он имеет ряд импортов пакетов (например, import numpy as np), но также импортирует некоторые другие файлы, назовем их subTest1.py и subTest2.py. Каждый из файлов subTest имеет свой собственный импорт (возможно, как другие файлы, так и пакеты). Есть ли автоматический способ получения списка всех пакетов, необходимых для запуска скрипта маршрута (test.py)?
Я знаю, что pip freeze показывает мне все установленные пакеты, но это не то, что яищите - может быть установлен пакет, который не требуется для запуска сценария test.py.
Вопросы, похожие на python 2.x:
Вернуть список импортированных модулей Python, используемых в скрипте?
Получить все модули / пакеты, используемые проектом Python
Пакетыкоторые специфичны для python 2.x:
snakefood
pipreqs
Там, где pipreqs терпит неудачу:
Traceback (most recent call last):
File "c:\anaconda36\envs\tensorflow\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\anaconda36\envs\tensorflow\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Anaconda36\envs\tensorflow\Scripts\pipreqs.exe\__main__.py", line 9, in <module>
File "c:\anaconda36\envs\tensorflow\lib\site-packages\pipreqs\pipreqs.py", line 396, in main
init(args)
File "c:\anaconda36\envs\tensorflow\lib\site-packages\pipreqs\pipreqs.py", line 341, in init
extra_ignore_dirs=extra_ignore_dirs)
File "c:\anaconda36\envs\tensorflow\lib\site-packages\pipreqs\pipreqs.py", line 91, in get_all_imports
raise exc
File "c:\anaconda36\envs\tensorflow\lib\site-packages\pipreqs\pipreqs.py", line 77, in get_all_imports
tree = ast.parse(contents)
File "c:\anaconda36\envs\tensorflow\lib\ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 49
print vsize
^
SyntaxError: Missing parentheses in call to 'print'