-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Closed
Labels
bug V1Bug related to Pydantic V1.XBug related to Pydantic V1.X
Description
Checks
- I added a descriptive title to this issue
- I have searched (google, github) for similar issues and couldn't find anything
- I have read and followed the docs and still think this is a bug
Bug
Output of python -c "import pydantic.utils; print(pydantic.utils.version_info())":
pydantic version: 1.8.1
pydantic compiled: True
install path: /root/.cache/pypoetry/virtualenvs/featuredproductsswitch-fvfue_C3-py3.8/lib/python3.8/site-packages/pydantic
python version: 3.8.7 (default, Mar 22 2021, 22:55:25) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
platform: Linux-3.10.0-1127.el7.x86_64-x86_64-with-glibc2.2.5
optional deps. installed: ['dotenv', 'typing-extensions']
To Reproduce
- Given a very simple script,
config.py
from pydantic import BaseSettings
class Settings(BaseSettings):
A_SETTING: str
settings = Settings()test_pydantic.py
from config import settings
if __name__ == "__main__":
print(settings.A_SETTING)- Run
pyinstaller -p [PATH_TO_YOUR_PROJECT'S SITE_PACKAGES]/site-packages test_pydantic.py
Expected output
Pyinstaller successfully packages script 🎉
Actual output
We get an error: AttributeError: Module 'pydantic' has no attribute '__version__'
....
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/utils/hooks/__init__.py", line 531, in is_module_satisfies
version = get_module_attribute(module_name, version_attr)
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/utils/hooks/__init__.py", line 328, in get_module_attribute
raise AttributeError(
AttributeError: Module 'pydantic' has no attribute '__version__'complete stacktrace when I ran pyinstaller
50 INFO: PyInstaller: 4.2
51 INFO: Python: 3.8.7
51 INFO: Platform: Linux-3.10.0-1127.el7.x86_64-x86_64-with-glibc2.2.5
54 INFO: wrote /home/vagrant/script/test_pydantic.spec
57 INFO: UPX is not available.
61 INFO: Extending PYTHONPATH with paths
['/home/vagrant/script',
'/root/.cache/pypoetry/virtualenvs/featuredproductsswitch-fvfue_C3-py3.8/lib/python3.8/site-packages',
'/home/vagrant/script']
66 INFO: checking Analysis
66 INFO: Building Analysis because Analysis-00.toc is non existent
66 INFO: Initializing module dependency graph...
69 INFO: Caching module graph hooks...
75 WARNING: Several hooks defined for module 'win32ctypes.core'. Please take care they do not conflict.
79 INFO: Analyzing base_library.zip ...
3190 INFO: Processing pre-find module path hook distutils from '/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/hooks/pre_find_module_path/hook-distutils.py'.
3191 INFO: distutils: retargeting to non-venv dir '/usr/local/python3.8/lib/python3.8'
6098 INFO: Caching module dependency graph...
6258 INFO: running Analysis Analysis-00.toc
6285 INFO: Analyzing /home/vagrant/script/test_pydantic.py
6343 INFO: Processing module hooks...
6343 INFO: Loading module hook 'hook-pydantic.py' from '/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/_pyinstaller_hooks_contrib/hooks/stdhooks'...
Traceback (most recent call last):
File "/root/.local/bin/pyinstaller", line 8, in <module>
sys.exit(run())
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/__main__.py", line 114, in run
run_build(pyi_config, spec_file, **vars(args))
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/__main__.py", line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/building/build_main.py", line 725, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/building/build_main.py", line 672, in build
exec(code, spec_namespace)
File "/home/vagrant/script/test_pydantic.spec", line 6, in <module>
a = Analysis(['test_pydantic.py'],
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/building/build_main.py", line 242, in __init__
self.__postinit__()
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/building/datastruct.py", line 160, in __postinit__
self.assemble()
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/building/build_main.py", line 420, in assemble
self.graph.process_post_graph_hooks()
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/depend/analysis.py", line 367, in process_post_graph_hooks
module_hook.post_graph()
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/depend/imphook.py", line 447, in post_graph
self._load_hook_module()
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/depend/imphook.py", line 408, in _load_hook_module
self._hook_module = importlib_load_source(
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/compat.py", line 598, in importlib_load_source
return mod_loader.load_module()
File "<frozen importlib._bootstrap_external>", line 462, in _check_name_wrapper
File "<frozen importlib._bootstrap_external>", line 962, in load_module
File "<frozen importlib._bootstrap_external>", line 787, in load_module
File "<frozen importlib._bootstrap>", line 265, in _load_module_shim
File "<frozen importlib._bootstrap>", line 702, in _load
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-pydantic.py", line 35, in <module>
if not is_module_satisfies('pydantic >= 1.4'):
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/utils/hooks/__init__.py", line 531, in is_module_satisfies
version = get_module_attribute(module_name, version_attr)
File "/root/.local/pipx/venvs/pyinstaller/lib/python3.8/site-packages/PyInstaller/utils/hooks/__init__.py", line 328, in get_module_attribute
raise AttributeError(
AttributeError: Module 'pydantic' has no attribute '__version__'Metadata
Metadata
Assignees
Labels
bug V1Bug related to Pydantic V1.XBug related to Pydantic V1.X