A fork of tumblr-utils with Python 3 support, bug fixes, and lots of features I found useful.

Documentation/Installation Issues#31

Closed
Opened 10/19/20241 commentsby EternityEngine
EternityEngine

Download date: October 17, 2024 (through pip) Python Version: 3.12.0 (32-bit) pip version: 24.2 Using the `--continue` option requires some extra modules installed that aren't part of the default requirements (`bs4`, which itself requires `beautifulsoup4` and `soupsieve`, and `lxml`), and so trying to use it just throws an exception on whichever of those it hits first (as of this writing, it is `bs4`, followed by `lxml` once `bs4` and its dependencies are installed). There doesn't seem to be any acknowledgement of this in the readme, and it is not listed in the optional dependencies that enable additional features. This isn't a huge deal if you know how to read exception errors, but it isn't user-friendly. Crash log: ``` eternityengine: Found incomplete backup. Traceback (most recent call last): File "C:\Python312-32\Lib\site-packages\tumblr_backup\main.py", line 148, in load_bs4 from bs4 import BeautifulSoup ModuleNotFoundError: No module named 'bs4' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "C:\Python312-32\Scripts\tumblr-backup.exe\__main__.py", line 7, in <module> File "C:\Python312-32\Lib\site-packages\tumblr_backup\main.py", line 2394, in main tb.backup(account, options.prev_archives[i] if options.prev_archives else None) File "C:\Python312-32\Lib\site-packages\tumblr_backup\main.py", line 1161, in backup oldest_tstamp, self.pa_options, write_fro = self.process_existing_backup(account, prev_archive) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312-32\Lib\site-packages\tumblr_backup\main.py", line 1094, in process_existing_backup BeautifulSoup = load_bs4('continue incomplete backup') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312-32\Lib\site-packages\tumblr_backup\main.py", line 150, in load_bs4 raise RuntimeError("Cannot {} without module 'bs4'".format(reason)) RuntimeError: Cannot continue incomplete backup without module 'bs4' ``` Furthermore, currently, trying to run `pip install tumblr-backup[all]` fails when attempting to build `py3exiv2` unless you have Microsoft Visual C++ 14.0 or greater installed (via Microsoft C++ Build Tools), and any modules that are queued to be installed by the same command fail to install as well when this happens, though this is not noted by pip beyond not stating that they were installed. This requirement should probably be noted in the readme. pip output (`py3exiv2` wheel build fails; install of `beautifulsoup4`, `lxml`, and `soupsieve` does not occur, despite downloading): ``` Requirement already satisfied: tumblr-backup[all] in c:\python312-32\lib\site-packages (1.0.3) Requirement already satisfied: filetype~=1.2 in c:\python312-32\lib\site-packages (from tumblr-backup[all]) (1.2.0) Requirement already satisfied: platformdirs~=4.2 in c:\python312-32\lib\site-packages (from tumblr-backup[all]) (4.3.6) Requirement already satisfied: requests~=2.31 in c:\python312-32\lib\site-packages (from tumblr-backup[all]) (2.32.3) Requirement already satisfied: urllib3~=2.2 in c:\python312-32\lib\site-packages (from tumblr-backup[all]) (2.2.3) Requirement already satisfied: charset-normalizer<4,>=2 in c:\python312-32\lib\site-packages (from requests~=2.31->tumblr-backup[all]) (3.4.0) Requirement already satisfied: idna<4,>=2.5 in c:\python312-32\lib\site-packages (from requests~=2.31->tumblr-backup[all]) (3.10) Requirement already satisfied: certifi>=2017.4.17 in c:\python312-32\lib\site-packages (from requests~=2.31->tumblr-backup[all]) (2024.8.30) Collecting py3exiv2~=0.12 (from tumblr-backup[all]) Downloading py3exiv2-0.12.0.tar.gz (47 kB) Installing build dependencies: started Installing build dependencies: finished with status 'done' Getting requirements to build wheel: started Getting requirements to build wheel: finished with status 'done' Preparing metadata (pyproject.toml): started Preparing metadata (pyproject.toml): finished with status 'done' Requirement already satisfied: jq~=1.6 in c:\python312-32\lib\site-packages (from tumblr-backup[all]) (1.8.0) Collecting beautifulsoup4~=4.12 (from tumblr-backup[all]) Downloading beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB) Collecting lxml~=5.1 (from tumblr-backup[all]) Downloading lxml-5.3.0-cp312-cp312-win32.whl.metadata (3.9 kB) Requirement already satisfied: yt-dlp>=2023.12.30 in c:\python312-32\lib\site-packages (from tumblr-backup[all]) (2024.10.7) Collecting soupsieve>1.2 (from beautifulsoup4~=4.12->tumblr-backup[all]) Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB) Requirement already satisfied: brotli in c:\python312-32\lib\site-packages (from yt-dlp>=2023.12.30->tumblr-backup[all]) (1.1.0) Requirement already satisfied: mutagen in c:\python312-32\lib\site-packages (from yt-dlp>=2023.12.30->tumblr-backup[all]) (1.47.0) Requirement already satisfied: pycryptodomex in c:\python312-32\lib\site-packages (from yt-dlp>=2023.12.30->tumblr-backup[all]) (3.21.0) Requirement already satisfied: websockets>=13.0 in c:\python312-32\lib\site-packages (from yt-dlp>=2023.12.30->tumblr-backup[all]) (13.1) Downloading beautifulsoup4-4.12.3-py3-none-any.whl (147 kB) Downloading lxml-5.3.0-cp312-cp312-win32.whl (3.5 MB) ---------------------------------------- 3.5/3.5 MB 22.9 MB/s eta 0:00:00 Downloading soupsieve-2.6-py3-none-any.whl (36 kB) Building wheels for collected packages: py3exiv2 Building wheel for py3exiv2 (pyproject.toml): started Building wheel for py3exiv2 (pyproject.toml): finished with status 'error' error: subprocess-exited-with-error Building wheel for py3exiv2 (pyproject.toml) did not run successfully. exit code: 1 [14 lines of output] running bdist_wheel running build running build_py creating build\lib.win32-cpython-312\pyexiv2 copying src\pyexiv2\exif.py -> build\lib.win32-cpython-312\pyexiv2 copying src\pyexiv2\iptc.py -> build\lib.win32-cpython-312\pyexiv2 copying src\pyexiv2\metadata.py -> build\lib.win32-cpython-312\pyexiv2 copying src\pyexiv2\preview.py -> build\lib.win32-cpython-312\pyexiv2 copying src\pyexiv2\utils.py -> build\lib.win32-cpython-312\pyexiv2 copying src\pyexiv2\xmp.py -> build\lib.win32-cpython-312\pyexiv2 copying src\pyexiv2\__init__.py -> build\lib.win32-cpython-312\pyexiv2 running build_ext building 'libexiv2python' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for py3exiv2 Failed to build py3exiv2 ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (py3exiv2) ```

AI Analysis

This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be resolved. The issue was opened by EternityEngine and has received 1 comments.

Add a comment
Comment form would go here