robertmartin8 / PyPortfolioOpt

Financial portfolio optimisation in python, including classical efficient frontier, Black-Litterman, Hierarchical Risk Parity
https://pyportfolioopt.readthedocs.io/
MIT License
4.38k stars 940 forks source link

PyCharm could not install. Package requirement cvxopt>=1.2.0,<=1.2.5 is not satisfied. #374

Closed enginance closed 2 years ago

enginance commented 2 years ago

First of all, congrats for this amazing PyPortfolioOpt, as a student of Finance in London I would like to install it but it does not work unfortunately... Could you please help me sort the issue out?

image

Collecting cvxopt<=1.2.5,>=1.2.0
  Using cached cvxopt-1.2.5.tar.gz (6.7 MB)
Building wheels for collected packages: cvxopt
  Building wheel for cvxopt (setup.py): started
  Building wheel for cvxopt (setup.py): finished with status 'error'
  Running setup.py clean for cvxopt
Failed to build cvxopt
Installing collected packages: cvxopt
    Running setup.py install for cvxopt: started
    Running setup.py install for cvxopt: finished with status 'error'

  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\Scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\neres\\AppData\\Local\\Temp\\pip-install-lk6y0jij\\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\\setup.py'"'"'; __file__='"'"'C:\\Users\\neres\\AppData\\Local\\Temp\\pip-install-lk6y0jij\\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\neres\AppData\Local\Temp\pip-wheel-gegt3zys'
       cwd: C:\Users\neres\AppData\Local\Temp\pip-install-lk6y0jij\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\
  Complete output (37 lines):
  C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\lib\site-packages\setuptools\dist.py:694: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
    % (opt, underscore_opt))
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win32-3.7
  creating build\lib.win32-3.7\cvxopt
  copying src\python\coneprog.py -> build\lib.win32-3.7\cvxopt
  copying src\python\cvxprog.py -> build\lib.win32-3.7\cvxopt
  copying src\python\info.py -> build\lib.win32-3.7\cvxopt
  copying src\python\misc.py -> build\lib.win32-3.7\cvxopt
  copying src\python\modeling.py -> build\lib.win32-3.7\cvxopt
  copying src\python\msk.py -> build\lib.win32-3.7\cvxopt
  copying src\python\printing.py -> build\lib.win32-3.7\cvxopt
  copying src\python\solvers.py -> build\lib.win32-3.7\cvxopt
  copying src\python\_version.py -> build\lib.win32-3.7\cvxopt
  copying src\python\__init__.py -> build\lib.win32-3.7\cvxopt
  warning: cmd_build_py: byte-compiling is disabled, skipping.

  UPDATING build\lib.win32-3.7\cvxopt/_version.py
  set build\lib.win32-3.7\cvxopt/_version.py to '1.2.5'
  running build_ext
  building 'base' extension
  creating build\temp.win32-3.7
  creating build\temp.win32-3.7\Release
  creating build\temp.win32-3.7\Release\src
  creating build\temp.win32-3.7\Release\src\C
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcsrc/C/base.c /Fobuild\temp.win32-3.7\Release\src/C/base.obj
  base.c
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcsrc/C/dense.c /Fobuild\temp.win32-3.7\Release\src/C/dense.obj
  dense.c
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcsrc/C/sparse.c /Fobuild\temp.win32-3.7\Release\src/C/sparse.obj
  sparse.c
  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:/usr/lib /LIBPATH:C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\libs /LIBPATH:C:\Users\neres\AppData\Local\Programs\Python\Python37-32\libs /LIBPATH:C:\Users\neres\AppData\Local\Programs\Python\Python37-32 /LIBPATH:C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\PCbuild\win32 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x86" m.lib lapack.lib blas.lib /EXPORT:PyInit_base build\temp.win32-3.7\Release\src/C/base.obj build\temp.win32-3.7\Release\src/C/dense.obj build\temp.win32-3.7\Release\src/C/sparse.obj /OUT:build\lib.win32-3.7\cvxopt\base.cp37-win32.pyd /IMPLIB:build\temp.win32-3.7\Release\src/C\base.cp37-win32.lib
  LINK : fatal error LNK1181: cannot open input file 'm.lib'
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x86\\link.exe' failed with exit status 1181
  ----------------------------------------
  ERROR: Failed building wheel for cvxopt
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\Scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\neres\\AppData\\Local\\Temp\\pip-install-lk6y0jij\\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\\setup.py'"'"'; __file__='"'"'C:\\Users\\neres\\AppData\\Local\\Temp\\pip-install-lk6y0jij\\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\neres\AppData\Local\Temp\pip-record-51n02v0c\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include\site\python3.7\cvxopt'
         cwd: C:\Users\neres\AppData\Local\Temp\pip-install-lk6y0jij\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\
    Complete output (37 lines):
    C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\lib\site-packages\setuptools\dist.py:694: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
      % (opt, underscore_opt))
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.7
    creating build\lib.win32-3.7\cvxopt
    copying src\python\coneprog.py -> build\lib.win32-3.7\cvxopt
    copying src\python\cvxprog.py -> build\lib.win32-3.7\cvxopt
    copying src\python\info.py -> build\lib.win32-3.7\cvxopt
    copying src\python\misc.py -> build\lib.win32-3.7\cvxopt
    copying src\python\modeling.py -> build\lib.win32-3.7\cvxopt
    copying src\python\msk.py -> build\lib.win32-3.7\cvxopt
    copying src\python\printing.py -> build\lib.win32-3.7\cvxopt
    copying src\python\solvers.py -> build\lib.win32-3.7\cvxopt
    copying src\python\_version.py -> build\lib.win32-3.7\cvxopt
    copying src\python\__init__.py -> build\lib.win32-3.7\cvxopt
    warning: cmd_build_py: byte-compiling is disabled, skipping.

    UPDATING build\lib.win32-3.7\cvxopt/_version.py
    set build\lib.win32-3.7\cvxopt/_version.py to '1.2.5'
    running build_ext
    building 'base' extension
    creating build\temp.win32-3.7
    creating build\temp.win32-3.7\Release
    creating build\temp.win32-3.7\Release\src
    creating build\temp.win32-3.7\Release\src\C
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcsrc/C/base.c /Fobuild\temp.win32-3.7\Release\src/C/base.obj
    base.c
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcsrc/C/dense.c /Fobuild\temp.win32-3.7\Release\src/C/dense.obj
    dense.c
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include -IC:\Users\neres\AppData\Local\Programs\Python\Python37-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcsrc/C/sparse.c /Fobuild\temp.win32-3.7\Release\src/C/sparse.obj
    sparse.c
    C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:/usr/lib /LIBPATH:C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\libs /LIBPATH:C:\Users\neres\AppData\Local\Programs\Python\Python37-32\libs /LIBPATH:C:\Users\neres\AppData\Local\Programs\Python\Python37-32 /LIBPATH:C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\PCbuild\win32 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x86" m.lib lapack.lib blas.lib /EXPORT:PyInit_base build\temp.win32-3.7\Release\src/C/base.obj build\temp.win32-3.7\Release\src/C/dense.obj build\temp.win32-3.7\Release\src/C/sparse.obj /OUT:build\lib.win32-3.7\cvxopt\base.cp37-win32.pyd /IMPLIB:build\temp.win32-3.7\Release\src/C\base.cp37-win32.lib
    LINK : fatal error LNK1181: cannot open input file 'm.lib'
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x86\\link.exe' failed with exit status 1181
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\Scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\neres\\AppData\\Local\\Temp\\pip-install-lk6y0jij\\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\\setup.py'"'"'; __file__='"'"'C:\\Users\\neres\\AppData\\Local\\Temp\\pip-install-lk6y0jij\\cvxopt_e82a9c70af8e4f1cb06c8c5d966aa46b\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\neres\AppData\Local\Temp\pip-record-51n02v0c\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\neres\PycharmProjects\PyPortfolioOpt\venv\include\site\python3.7\cvxopt' Check the logs for full command output.
robertmartin8 commented 2 years ago

Could you try following the instructions suggested by PyCharm? i.e run pip install cvxopt in a separate terminal.

enginance commented 2 years ago

Many thanks @robertmartin8 for your reply. Unfortunately it doesn't seem to work. I have tried with Visual Studio Code too. I am on a PC.

robertmartin8 commented 2 years ago

So it seems the problem is with cvxopt? Unfortunately I'm not able to provide much insight on that :/

I'm closing for now – but if you are in a situation where cvxopt is able to be installed and pyportfolioopt isn't, please reopen and we can try to work that out.