Bug 140278 - Embedded Python install missing 6 Windows DLL files (LO 7.1.0.3, Python 3.8.4)
Summary: Embedded Python install missing 6 Windows DLL files (LO 7.1.0.3, Python 3.8.4)
Status: RESOLVED DUPLICATE of bug 140279
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Installation (show other bugs)
Version:
(earliest affected)
7.1.0.3 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-02-08 20:57 UTC by Helio Asteroid
Modified: 2021-02-08 21:55 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Helio Asteroid 2021-02-08 20:57:22 UTC
Description:
After upgrading from LO 7.0 to 7.1.0.3, I am unable to install "pip" using "get-pip.py" on a Windows 10 PC. Traceback from get-pip shows error
  FileNotFoundError: [WinError 2] The system cannot find the file specified 
However, as explained below, the error / traceback are a bit of a red herring. I think the real issue is that 6 DLL files are missing from the embedded python installation delivered with LO 7.1.0.3.

There is a workaround, but it would not be easy for non-technical users.

Steps to Reproduce:
1. Perform standard upgrade installation of LO 7.1.0.3 on Windows 10 PC
2. Open administrator powershell
2a. cd 'C:\Program Files\LibreOffice\program\'
2b. curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2c. .\python.exe .\get-pip.p

Actual Results:
PS C:\Program Files\LibreOffice\program> .\python  .\get-pip.py

Traceback (most recent call last):
  File "C:\Program Files\LibreOffice\program\get-pip.py", line 24244, in <module>
    main()
  File "C:\Program Files\LibreOffice\program\get-pip.py", line 199, in main
    bootstrap(tmpdir=tmpdir)
  File "C:\Program Files\LibreOffice\program\get-pip.py", line 177, in bootstrap
    sys.exit(pip_entry_point(args))
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\cli\main.py", line 58, in main
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\cli\main_parser.py", line 67, in parse_command
  File "C:\Program Files\LibreOffice\program\python-core-3.8.4\lib\optparse.py", line 1371, in parse_args
    values = self.get_default_values()
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\cli\parser.py", line 267, in get_default_values
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\configuration.py", line 137, in load
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\configuration.py", line 259, in _load_config_files
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\configuration.py", line 362, in iter_config_files
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\configuration.py", line 78, in get_configuration_files
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_internal\utils\appdirs.py", line 38, in site_config_dirs
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_vendor\appdirs.py", line 243, in site_config_dir
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_vendor\appdirs.py", line 138, in site_data_dir
  File "C:\Users\gax\AppData\Local\Temp\tmp7utwaimk\pip.zip\pip\_vendor\appdirs.py", line 486, in _get_win_folder_from_registry
FileNotFoundError: [WinError 2] The system cannot find the file specified

Expected Results:
PS C:\Program Files\LibreOffice\program> .\python  .\get-pip.py
Collecting pip
  Using cached pip-21.0.1-py3-none-any.whl (1.5 MB)
Collecting setuptools
  Downloading setuptools-53.0.0-py3-none-any.whl (784 kB)
     |████████████████████████████████| 784 kB 85 kB/s
Collecting wheel
  Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel, setuptools, pip
  WARNING: The script wheel.exe is installed in 'C:\Program Files\LibreOffice\program\python-core-3.8.4\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts pip.exe, pip3.8.exe and pip3.exe are installed in 'C:\Program Files\LibreOffice\program\python-core-3.8.4\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-21.0.1 setuptools-53.0.0 wheel-0.36.2
PS C:\Program Files\LibreOffice\program>


Reproducible: Always


User Profile Reset: No


OpenGL enabled: Yes

Additional Info:
Possible workaround:
I suspected that some Windows-specific files might be missing from the embedded python distribution included with LO 7.1.0.3. Using source from https://www.python.org/ftp/python/3.8.4, I first checked *.pyd files, but they all seemed to be present (though I only spot-checked, did not exhaustively compare).  Next I checked *.DLL files and found only 2 on the target PC, but 8 in the master ZIP file.  See list below:


 Status                 Name
 ------                 ----
 present                libcrypto-1_1.dll
 present                libssl-1_1.dll

 Missing                libffi-7.dll
 Missing                python3.dll
 Missing                python38.dll
 Missing                sqlite3.dll
 Missing                vcruntime140.dll
 Missing                vcruntime140_1.dll
  

After copying the 6 missing DLL files to: 
    C:\Program Files\LibreOffice\program\python-core-3.8.4\lib\
I re-ran step 2c above and succeeded in installing pip.  I was also able to install other packages using pip.  I have not done any further testing, but it seems this might be a workaround until the problem is resolved (though not suitable for non-technical users).
Comment 1 Helio Asteroid 2021-02-08 21:55:24 UTC
Sorry, opened in error.  Please delete this bug (140278) and see 140279 instead.
Thanks.

*** This bug has been marked as a duplicate of bug 140279 ***