josiahseaman / FluentDNA

FluentDNA allows you to browse sequence data of any size using a zooming visualization similar to Google Maps. You can use FluentDNA as a standalone program or as a python module for your own bioinformatics projects.
65 stars 7 forks source link

Visual C++ dependency in Python 3.5+ #47

Closed josiahseaman closed 4 years ago

josiahseaman commented 6 years ago

blist is creating a depenency on a C++ library that's not desirable. The requirement can be ignored if you don't want to use chain files. I've added in a basic fix, but the ideal one would be fixing the issue on blist directly.

C:\Users\josiah\env_test>Scripts\activate
(env_test) C:\Users\josiah\env_test>pip install --process-dependency-links git+https://github.com/josiahseaman/FluentDNA.git@pip
Collecting git+https://github.com/josiahseaman/FluentDNA.git@pip
  Cloning https://github.com/josiahseaman/FluentDNA.git (to pip) to c:\users\josiah\appdata\local\temp\pip-j_ijpqdm-build
  DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
Collecting Pillow>=3.2.0 (from DDV==2.2.2)
  Downloading Pillow-5.0.0-cp36-cp36m-win_amd64.whl (1.6MB)
    100% |████████████████████████████████| 1.6MB 651kB/s
Collecting six>=1.10.0 (from DDV==2.2.2)
  Using cached six-1.11.0-py2.py3-none-any.whl
Collecting psutil>=4.3.1 (from DDV==2.2.2)
  Downloading psutil-5.4.3-cp36-cp36m-win_amd64.whl (226kB)
    100% |████████████████████████████████| 235kB 2.2MB/s
Collecting blist>=1.3.6 (from DDV==2.2.2)
  Using cached blist-1.3.6.tar.gz
Collecting natsort>=5.1.1 (from DDV==2.2.2)
  Using cached natsort-5.1.1-py2.py3-none-any.whl
Collecting DNASkittleUtils>=1.0.9 (from DDV==2.2.2)
  Cloning https://github.com/josiahseaman/DNASkittleUtils.git (to 1.0.9) to c:\users\josiah\appdata\local\temp\pip-build-6vqyei3b\dnaskittleutils
Installing collected packages: Pillow, six, psutil, blist, natsort, DNASkittleUtils, DDV
  Running setup.py install for blist ... error
    Complete output from command C:\Users\josiah\env_test\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\josiah\\AppData\\Local\\Temp\\pip-build-6vqyei3b\\blist\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\josiah\AppData\Local\Temp\pip-095ilej7-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\josiah\env_test\include\site\python3.6\blist:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.6
    creating build\lib.win-amd64-3.6\blist
    copying blist\_btuple.py -> build\lib.win-amd64-3.6\blist
    copying blist\_sorteddict.py -> build\lib.win-amd64-3.6\blist
    copying blist\_sortedlist.py -> build\lib.win-amd64-3.6\blist
    copying blist\__init__.py -> build\lib.win-amd64-3.6\blist
    running build_ext
    building 'blist._blist' extension
    error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools

    ----------------------------------------
Command "C:\Users\josiah\env_test\Scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\josiah\\AppData\\Local\\Temp\\pip-build-6vqyei3b\\blist\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\josiah\AppData\Local\Temp\pip-095ilej7-record\install-record.txt --single-version-externally-managed --compile --install-headers C:\Users\josiah\env_test\include\site\python3.6\blist" failed with error code 1 in 
josiahseaman commented 5 years ago

This wasn't an issue in 3.7 using PyInstaller. I don't fully understand why. It's possible the libraries were finally updated.

josiahseaman commented 4 years ago

If blist doesn't pip install correctly, you can follow the installation instructions instead: