prof79 / fansly-downloader-ng

Easy-to-use fansly.com content downloading tool. Written in Python and available as a standalone Windows Executable. Enjoy your Fansly content offline anytime, anywhere in the highest possible content resolution! Fully customizable to download in bulk or single: photos, videos & audio from timeline, messages, collection & single posts.
GNU General Public License v3.0
262 stars 14 forks source link

[ModuleNotFoundError: No module named 'scipy.special._special_ufuncs] #80

Open TheOppaiDragon opened 2 months ago

TheOppaiDragon commented 2 months ago

IMPORTANT: Be sure to replace all {{ template sections ⚠️}} or your issue may be discarded.

Bug Description

When i run exe version for downloader and read config.ini tell me: "[ModuleNotFoundError: No module named 'scipy.special._special_ufuncs]"

Expected behavior

Starting downloading content

Actual behavior

Give me an error

image

Environment Information

User Research

( fill [ ] with x, if you've already done said task )

I have done the following:

Additional context

1gintonic commented 2 months ago

try using the python version, that one works :) I think @prof79 forgot to add the dependency when building the executable :/

TheOppaiDragon commented 2 months ago

python don't work too because i got some error when try install some dependency

TheOppaiDragon commented 2 months ago

try using the python version, that one works :) I think @prof79 forgot to add the dependency when building the executable :/

image i have this error on my main computer

NoahL989 commented 2 months ago

I'm getting the same error, this was on a fresh Windows 11 box with nothing else installed:

image

I agree with 1gintonic. It seems that there wasn't a dependency added to the exe.

@prof79 any idea when this will be fixed?

Thanks!

1gintonic commented 2 months ago

try using the python version, that one works :) I think @prof79 forgot to add the dependency when building the executable :/

image i have this error on my main computer

that error is "pip" specific and correlates to windows access management.

NoahL989 commented 2 months ago

Hi @1gintonic - Sorry I was meaning error for the executable, I should have replied to the other comment.

I actually managed to fix the ModuleNotFoundError that @TheOppaiDragon and I were getting by adding scipy==1.14.0 to the requirements.txt and then rebuilt the exe using the build.ps1 script.

I did run into some other errors while trying to rebuild the exe and with run it straight in Python while testing, but found that using Python 3.11.8 has worked. Anything newer than this version didn't want to work when installing all the requirements. I'm wondering if you tried using the older version of Python if it might work better for you as well and get around errors you are seeing. I also needed to install the Visual Studio Build Tools 2022, but that was easy enough to install.

I'm a newbie to Github and haven't ever contributed to a project or forked anything. It might just be easier for you or @prof79 to add the fix in that I did and commit it here. Let me know if you need more detailed steps on what I did to fix it.

Thanks

TheOppaiDragon commented 2 months ago

try using the python version, that one works :) I think @prof79 forgot to add the dependency when building the executable :/

image i have this error on my main computer

that error is "pip" specific and correlates to windows access management.

Do you know how to resolve?

@NoahL989 So i can try to download new exe version or need wait dev merge your fixed version in him program?

TheOppaiDragon commented 2 months ago

I installed Python 3.10.11 and now work soo good to download all stuff without no error.

New Function: Is possible add a way to the program can download new photo uploaded by a creator instead to download all photo again every time there are new photo?

niekurwa commented 2 months ago

also found same error

kokon191 commented 2 months ago

I installed Python 3.10.11 and now work soo good to download all stuff without no error.

New Function: Is possible add a way to the program can download new photo uploaded by a creator instead to download all photo again every time there are new photo?

Yes. Since there's already an existence check to prevent redundant downloading of old file, you can simply return the moment any of those checks pops up. I quickly skimmed through the code and the relevant part is in media.py

        if config.use_duplicate_threshold \
                and state.duplicate_count > config.DUPLICATE_THRESHOLD \
                and config.DUPLICATE_THRESHOLD >= 50:
            raise DuplicateCountError(state.duplicate_count)

Just change it to

        if state.duplicate_count > 0:
            raise DuplicateCountError(state.duplicate_count)

then the program will terminate the moment you encounter an already downloaded file. Do mind the spaces since python relies on spaces to parse code.

Also for your original problem, it's the common permission issue. That's why many recommend to never install games on the C drive. The easiest fix is to just run cmd as admin, but it's bad practice. The best way is to run a virtual environment for python.

guldur87 commented 1 month ago

Anyone found some solution? I tried with installing older Python like @TheOppaiDragon suggested but didn't work. I still can download pictures/videos but I need to press enter after each download. downloader fansly

Don't know if this is connected but download mode "collection" is also not possible to use, it shows 0 files. downloader fansly2

recolier commented 1 month ago

Worked with Python 3.10.11. Might work with another Python 3 version.

Hopefully bulletproof instructions for Windows:

  1. Download the source code from latest release a. Extract somewhere, remember this directory, I'll refer to it as YOUR_FANSLY_DL_DIR. I recommend to put it where your executable file is.
  2. Open up command prompt or Powershell, Run the following command and replace with your directory.
    cd YOUR_FANSLY_DL_DIR
  3. Create a virtual environment. You should now see a prefix (.venv) in your terminal. a. If Python 3.10 is your only/default python (can check with python -V)
      python -m pip install virtualenv
      python -m venv .venv
      .\.venv\Scripts\activate

    b. Otherwise:

    py -3.10 -m pip install virtualenv
    py -3.10 -m venv .venv
    .\.venv\Scripts\activate

    c. If you get an error at the first line for both saying something doesn't exist, if you're not tech savvy, reinstall Python and make sure to select the option to add to PATH.

  4. Install requirements.
    python -m pip install -r requirements.txt
  5. Run the thing
    python fansly_downloader_ng.py
jchow234 commented 1 month ago

Attempting to use virtual env but didn't work. python fansly_downloader_ng.py line doesn't seem to install packages, but I am just manually going through and installing them one by one, nbd. Getting this issue when installing setuptools, it seems vendor is no longer in the source code and the version is not specified in requirements-dev:

image

Would it be possible to know the version or a workaround?

Swooned9666 commented 1 month ago

Would it be possible to know the version or a workaround?

I just commented out the updater, I knew I had the latest version anyway. Lines 52 and 107 currently

thunbergi commented 1 month ago

Worked with Python 3.10.11. Might work with another Python 3 version.

Hopefully bulletproof instructions for Windows:

  1. Download the source code from latest release a. Extract somewhere, remember this directory, I'll refer to it as YOUR_FANSLY_DL_DIR. I recommend to put it where your executable file is.
  2. Open up command prompt or Powershell, Run the following command and replace with your directory.
    cd YOUR_FANSLY_DL_DIR
  3. Create a virtual environment. You should now see a prefix (.venv) in your terminal. a. If Python 3.10 is your only/default python (can check with python -V)

    python -m pip install virtualenv
    python -m venv .venv
    .\.venv\Scripts\activate

    b. Otherwise:

    py -3.10 -m pip install virtualenv
    py -3.10 -m venv .venv
    .\.venv\Scripts\activate

    c. If you get an error at the first line for both saying something doesn't exist, if you're not tech savvy, reinstall Python and make sure to select the option to add to PATH.

  4. Install requirements.
    python -m pip install -r requirements.txt
  5. Run the thing
    python fansly_downloader_ng.py

Thanks a lot, working fine

niekurwa commented 3 weeks ago

Worked with Python 3.10.11. Might work with another Python 3 version.

Hopefully bulletproof instructions for Windows:

  1. Download the source code from latest release a. Extract somewhere, remember this directory, I'll refer to it as YOUR_FANSLY_DL_DIR. I recommend to put it where your executable file is.
  2. Open up command prompt or Powershell, Run the following command and replace with your directory.
    cd YOUR_FANSLY_DL_DIR
  3. Create a virtual environment. You should now see a prefix (.venv) in your terminal. a. If Python 3.10 is your only/default python (can check with python -V)

    python -m pip install virtualenv
    python -m venv .venv
    .\.venv\Scripts\activate

    b. Otherwise:

    py -3.10 -m pip install virtualenv
    py -3.10 -m venv .venv
    .\.venv\Scripts\activate

    c. If you get an error at the first line for both saying something doesn't exist, if you're not tech savvy, reinstall Python and make sure to select the option to add to PATH.

  4. Install requirements.
    python -m pip install -r requirements.txt
  5. Run the thing
    python fansly_downloader_ng.py

Never used py before, attempted to follow instructions and got an error.

warning C5039: 'PyUnstable_Eval_RequestCodeExtraIndex': pointer or reference to potentially throwing function passed to 'extern "C"' function under -EHc. Undefined behavior may occur if this function throws an exception. C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.12_3.12.1520.0_x64__qbz5n2kfra8p0\include\cpython/abstract.h(60): warning C4365: 'return': conversion from 'size_t' to 'Py_ssize_t', signed/unsigned mismatch build\plyvel/_plyvel.cpp(61): warning C4668: 'CYTHON_COMPILING_IN_PYPY' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif' build\plyvel/_plyvel.cpp(1293): fatal error C1083: Cannot open include file: 'leveldb/db.h': No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.41.34120\bin\HostX86\x64\cl.exe' failed with exit code 2 [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for plyvel-ci Failed to build plyvel-ci ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (plyvel-ci)

kokon191 commented 3 weeks ago

@niekurwa Common build issue on Windows when you don't have the required build tools that come with VS. One solution is to install the correct version of Visual Studio with all the junks. The easier solution is to directly install the package with a prebuilt wheel. Get plyvel_ci-1.5.1-cp312-cp312-win_amd64.whl from https://pypi.org/project/plyvel-ci/ then just run pip install plyvel_ci-1.5.1-cp312-cp312-win_amd64.whl. Run this before step 4, and remove the line that contains plyvel-ci in requirements.txt

niekurwa commented 3 weeks ago

@niekurwa Common build issue on Windows when you don't have the required build tools that come with VS. One solution is to install the correct version of Visual Studio with all the junks. The easier solution is to directly install the package with a prebuilt wheel. Get plyvel_ci-1.5.1-cp312-cp312-win_amd64.whl from https://pypi.org/project/plyvel-ci/ then just run pip install plyvel_ci-1.5.1-cp312-cp312-win_amd64.whl. Run this before step 4, and remove the line that contains plyvel-ci in requirements.txt

Thanks, install worked. However when I try to run the program it opens a second cmd momentarily and does nothing.

kokon191 commented 3 weeks ago

@niekurwa How do you run the program? Did you follow step 5 by the other commenter, i.e. running python fansly_downloader_ng.py from cmd? It shouldn't pop up another cmd window.

theuser29hundred commented 3 weeks ago

I'm getting this error with my first attempt at scraping with this tool, fresh executable install. The auth had issues running automatically so I grabbed the info from my last install then worked out the check key. Now while installing this happens with jpeg images (at least) image

niekurwa commented 3 weeks ago

@niekurwa How do you run the program? Did you follow step 5 by the other commenter, i.e. running python fansly_downloader_ng.py from cmd? It shouldn't pop up another cmd window.

yes exactly like that in a virtual environment

niekurwa commented 3 weeks ago

@niekurwa How do you run the program? Did you follow step 5 by the other commenter, i.e. running python fansly_downloader_ng.py from cmd? It shouldn't pop up another cmd window.

fansly-downloader-ng-0.9.9\updater\utils.py", line 15, in from pkg_resources._vendor.packaging.version import parse as parse_version ModuleNotFoundError: No module named 'pkg_resources'

bojidaryovchev commented 2 weeks ago

downloaded the python source code, created a virtual env, modified requirements.txt to add scipy==1.14.0 and to remove plyvel-ci==1.5.0, commented out these lines # from updater import self_update # self_update(config), manually replaced the values for authorization_token, user_agent, check_key and now it works fine for me, no errors downloading images or videos