bulk-downloader-for-reddit
bulk-downloader-for-reddit copied to clipboard
[BUG] module 'praw.reddit' has no attribute BaseTokenManager
I cannot use the program at all due to this error right now. It was working previously. Could this be a change to PRAW causing this? Are there any current workarounds?
v7.8.0 of PRAW was released today and looks to have broken BDFR. I've been able to fix it on my machine by pinning praw to v7.7.1 in bdfr's pyproject.toml.
E.g. using pipx:
- Clone the bdfr repo to your computer, cd into the directory, and change to the development branch
- Edit pyproject.toml and replace
praw>=7.2.0withpraw==7.7.1 - Install bdfr using
pipx install -e .
I just went back to using the old praw version and it seems to be fine. Use that until it gets fixed later.
This fix still isn't working for me. How do I change to the development branch?
I'm in final exams right now so it will take a couple of weeks before I can give the BDFR any attention. You can install the development version with pip install git+git+https://github.com/Serene-Arc/bulk-downloader-for-reddit.git@development.
This fix still isn't working for me. How do I change to the development branch?
Temporary workaround pip3 install praw==7.7.1
This fix still isn't working for me. How do I change to the development branch?
Temporary workaround pip3 install praw==7.7.1
This fix it but now its just stuck here:
for people running another local project that requires bdfr:
- (optional) Create & activate virtual environment inside your-project
- Clone bdfr repo to your PC, fix
pyproject.tomlas described above cd bulk-downloader-for-reddit/pip install .
I just installed bdfr on a Macbook Pro M2 and I'm getting this issue too.
I'm not well-versed in pipx or pythons virtual environments, so the seemingly permanent fix of checking out a specific branch and manually editing the .toml file, isn't something I'm comfortable with.
so what's the actual status of that bug and how to fix it? I installed the bdfr on the latest python on Windows 11, so all the packages must be the latest. My praw is 7.8.1 and prawcore is 2.4.0
PS C:\Users\ussss> pip install bdfr --upgrade
Collecting bdfr
Downloading bdfr-2.6.2-py3-none-any.whl.metadata (70 kB)
Collecting appdirs>=1.4.4 (from bdfr)
Downloading appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB)
Collecting beautifulsoup4>=4.10.0 (from bdfr)
Downloading beautifulsoup4-4.13.3-py3-none-any.whl.metadata (3.8 kB)
Requirement already satisfied: click>=8.0.0 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from bdfr) (8.1.8)
Collecting dict2xml>=1.7.0 (from bdfr)
Downloading dict2xml-1.7.6-py3-none-any.whl.metadata (6.4 kB)
Collecting praw>=7.2.0 (from bdfr)
Downloading praw-7.8.1-py3-none-any.whl.metadata (9.4 kB)
Collecting pyyaml>=5.4.1 (from bdfr)
Downloading PyYAML-6.0.2-cp312-cp312-win_amd64.whl.metadata (2.1 kB)
Requirement already satisfied: requests>=2.25.1 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from bdfr) (2.32.3)
Collecting yt-dlp>=2022.11.11 (from bdfr)
Downloading yt_dlp-2025.3.31-py3-none-any.whl.metadata (172 kB)
Collecting soupsieve>1.2 (from beautifulsoup4>=4.10.0->bdfr)
Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB)
Collecting typing-extensions>=4.0.0 (from beautifulsoup4>=4.10.0->bdfr)
Downloading typing_extensions-4.13.1-py3-none-any.whl.metadata (3.0 kB)
Requirement already satisfied: colorama in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from click>=8.0.0->bdfr) (0.4.6)
Collecting prawcore<3,>=2.4 (from praw>=7.2.0->bdfr)
Downloading prawcore-2.4.0-py3-none-any.whl.metadata (5.0 kB)
Collecting update_checker>=0.18 (from praw>=7.2.0->bdfr)
Downloading update_checker-0.18.0-py3-none-any.whl.metadata (2.3 kB)
Collecting websocket-client>=0.54.0 (from praw>=7.2.0->bdfr)
Downloading websocket_client-1.8.0-py3-none-any.whl.metadata (8.0 kB)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (3.4.1)
Requirement already satisfied: idna<4,>=2.5 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (3.10)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (2.3.0)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (2025.1.31)
Downloading bdfr-2.6.2-py3-none-any.whl (73 kB)
Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Downloading beautifulsoup4-4.13.3-py3-none-any.whl (186 kB)
Downloading dict2xml-1.7.6-py3-none-any.whl (8.0 kB)
Downloading praw-7.8.1-py3-none-any.whl (189 kB)
Downloading PyYAML-6.0.2-cp312-cp312-win_amd64.whl (156 kB)
Downloading yt_dlp-2025.3.31-py3-none-any.whl (3.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 6.1 MB/s eta 0:00:00
Downloading prawcore-2.4.0-py3-none-any.whl (17 kB)
Downloading soupsieve-2.6-py3-none-any.whl (36 kB)
Downloading typing_extensions-4.13.1-py3-none-any.whl (45 kB)
Downloading update_checker-0.18.0-py3-none-any.whl (7.0 kB)
Downloading websocket_client-1.8.0-py3-none-any.whl (58 kB)
Installing collected packages: appdirs, yt-dlp, websocket-client, typing-extensions, soupsieve, pyyaml, dict2xml, update_checker, prawcore, beautifulsoup4, praw, bdfr
Successfully installed appdirs-1.4.4 bdfr-2.6.2 beautifulsoup4-4.13.3 dict2xml-1.7.6 praw-7.8.1 prawcore-2.4.0 pyyaml-6.0.2 soupsieve-2.6 typing-extensions-4.13.1 update_checker-0.18.0 websocket-client-1.8.0 yt-dlp-2025.3.31
should I upgrade or downgrade?
so what's the actual status of that bug and how to fix it? I installed the bdfr on the latest python on Windows 11, so all the packages must be the latest. My praw is 7.8.1 and prawcore is 2.4.0
PS C:\Users\ussss> pip install bdfr --upgrade Collecting bdfr Downloading bdfr-2.6.2-py3-none-any.whl.metadata (70 kB) Collecting appdirs>=1.4.4 (from bdfr) Downloading appdirs-1.4.4-py2.py3-none-any.whl.metadata (9.0 kB) Collecting beautifulsoup4>=4.10.0 (from bdfr) Downloading beautifulsoup4-4.13.3-py3-none-any.whl.metadata (3.8 kB) Requirement already satisfied: click>=8.0.0 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from bdfr) (8.1.8) Collecting dict2xml>=1.7.0 (from bdfr) Downloading dict2xml-1.7.6-py3-none-any.whl.metadata (6.4 kB) Collecting praw>=7.2.0 (from bdfr) Downloading praw-7.8.1-py3-none-any.whl.metadata (9.4 kB) Collecting pyyaml>=5.4.1 (from bdfr) Downloading PyYAML-6.0.2-cp312-cp312-win_amd64.whl.metadata (2.1 kB) Requirement already satisfied: requests>=2.25.1 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from bdfr) (2.32.3) Collecting yt-dlp>=2022.11.11 (from bdfr) Downloading yt_dlp-2025.3.31-py3-none-any.whl.metadata (172 kB) Collecting soupsieve>1.2 (from beautifulsoup4>=4.10.0->bdfr) Downloading soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB) Collecting typing-extensions>=4.0.0 (from beautifulsoup4>=4.10.0->bdfr) Downloading typing_extensions-4.13.1-py3-none-any.whl.metadata (3.0 kB) Requirement already satisfied: colorama in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from click>=8.0.0->bdfr) (0.4.6) Collecting prawcore<3,>=2.4 (from praw>=7.2.0->bdfr) Downloading prawcore-2.4.0-py3-none-any.whl.metadata (5.0 kB) Collecting update_checker>=0.18 (from praw>=7.2.0->bdfr) Downloading update_checker-0.18.0-py3-none-any.whl.metadata (2.3 kB) Collecting websocket-client>=0.54.0 (from praw>=7.2.0->bdfr) Downloading websocket_client-1.8.0-py3-none-any.whl.metadata (8.0 kB) Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (3.4.1) Requirement already satisfied: idna<4,>=2.5 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (2.3.0) Requirement already satisfied: certifi>=2017.4.17 in c:\users\ussss\appdata\local\programs\python\python312\lib\site-packages (from requests>=2.25.1->bdfr) (2025.1.31) Downloading bdfr-2.6.2-py3-none-any.whl (73 kB) Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB) Downloading beautifulsoup4-4.13.3-py3-none-any.whl (186 kB) Downloading dict2xml-1.7.6-py3-none-any.whl (8.0 kB) Downloading praw-7.8.1-py3-none-any.whl (189 kB) Downloading PyYAML-6.0.2-cp312-cp312-win_amd64.whl (156 kB) Downloading yt_dlp-2025.3.31-py3-none-any.whl (3.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 6.1 MB/s eta 0:00:00 Downloading prawcore-2.4.0-py3-none-any.whl (17 kB) Downloading soupsieve-2.6-py3-none-any.whl (36 kB) Downloading typing_extensions-4.13.1-py3-none-any.whl (45 kB) Downloading update_checker-0.18.0-py3-none-any.whl (7.0 kB) Downloading websocket_client-1.8.0-py3-none-any.whl (58 kB) Installing collected packages: appdirs, yt-dlp, websocket-client, typing-extensions, soupsieve, pyyaml, dict2xml, update_checker, prawcore, beautifulsoup4, praw, bdfr Successfully installed appdirs-1.4.4 bdfr-2.6.2 beautifulsoup4-4.13.3 dict2xml-1.7.6 praw-7.8.1 prawcore-2.4.0 pyyaml-6.0.2 soupsieve-2.6 typing-extensions-4.13.1 update_checker-0.18.0 websocket-client-1.8.0 yt-dlp-2025.3.31should I upgrade or downgrade?
Well if you actually want BDFR to work you'll need to downgrade the praw to 7.7.1
@luckybear992 thanks, that worked. Somehow I overlooked the temporary solution in the above messages
I did not get it solved, I pip installed the old version of praw however its still gibing error. @Suncatcher were u able to make it work can u share your solution?
I did not get it solved, I pip installed the old version of praw however its still gibing error. @Suncatcher were u able to make it work can u share your solution?
pip uninstall praw
pip install --force-reinstall -v "praw==7.7.1"
This error is gone, but now I receive another error https://github.com/Serene-Arc/bulk-downloader-for-reddit/issues/985, that looks like a result of outdated praw. So in the end BDRF is unusable.
I find that if you use praw 7.7.0 it seems to resolve most of the issues. I would recommend running it with --authenticate for best results.
pip install praw==7.7.0