I am trying to install fbprophet in python. This has pystan 2.19.1.1 as a dependency. Running pip install pystan==2.19.1.1 gives me the following message:
Collecting pystan==2.19.1.1
Using cached pystan-2.19.1.1.tar.gz (16.2 MB)
Preparing metadata (setup.py) ... done
Requirement already satisfied: Cython!=0.25.1,>=0.22 in ./py310/lib/python3.10/site-packages (from pystan==2.19.1.1) (0.29.30)
Requirement already satisfied: numpy>=1.7 in ./py310/lib/python3.10/site-packages (from pystan==2.19.1.1) (1.22.4)
Building wheels for collected packages: pystan
Building wheel for pystan (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [20700 lines of output]
Compiling pystan/_api.pyx because it depends on /home/user/py310/lib/python3.10/site-packages/Cython/Includes/libcpp/string.pxd.
Compiling pystan/_chains.pyx because it depends on /home/user/py310/lib/python3.10/site-packages/Cython/Includes/libcpp/vector.pxd.
[1/2] Cythonizing pystan/_api.pyx
[2/2] Cythonizing pystan/_chains.pyx
running bdist_wheel
running build
running build_py
creating build
.
.
.
.
.
.
writing manifest file 'pystan.egg-info/SOURCES.txt'
reading manifest file 'pystan.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'doc/_build'
warning: no previously-included files matching '*.so' found anywhere in distribution
warning: no previously-included files matching '*.pyc' found anywhere in distribution
warning: no previously-included files matching '.git*' found anywhere in distribution
warning: no previously-included files matching '*.png' found anywhere in distribution
no previously-included directories found matching 'pystan/stan/make'
no previously-included directories found matching 'pystan/stan/src/docs'
no previously-included directories found matching 'pystan/stan/src/doxygen'
no previously-included directories found matching 'pystan/stan/src/python'
no previously-included directories found matching 'pystan/stan/src/test'
no previously-included directories found matching 'pystan/stan/lib/stan_math/doc'
no previously-included directories found matching 'pystan/stan/lib/stan_math/doxygen'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/boost_*/doc'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/boost_*/libs'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/boost_*/more'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/boost_*/status'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/boost_*/tools'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/cpplint_*'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/eigen_*/unsupported/doc'
no previously-included directories found matching 'pystan/stan/lib/stan_math/lib/gtest_*'
no previously-included directories found matching 'pystan/stan/lib/stan_math/make'
no previously-included directories found matching 'pystan/stan/lib/stan_math/test'
warning: no previously-included files matching '*.html' found under directory 'pystan/stan/lib/stan_math'
warning: no previously-included files matching '*.css' found under directory 'pystan/stan/lib/stan_math'
adding license file 'LICENSE'
writing manifest file 'pystan.egg-info/SOURCES.txt'
/home/user/py310/lib/python3.10/site-packages/setuptools/command/build_py.py:153: SetuptoolsDeprecationWarning: Installing 'pystan.lookuptable' as data is deprecated, please list it in `packages`.
!!
############################
# Package would be ignored #
############################
Python recognizes 'pystan.lookuptable' as an importable package,
but it is not listed in the `packages` configuration of setuptools.
'pystan.lookuptable' has been automatically added to the distribution only
because it may contain data files, but this behavior is likely to change
in future versions of setuptools (and therefore is considered deprecated).
Please make sure that 'pystan.lookuptable' is included as a package by using
the `packages` configuration field or the proper discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" and "data files" on setuptools
documentation page.
!!
check.warn(importable)
/home/user/py310/lib/python3.10/site-packages/setuptools/command/build_py.py:153: SetuptoolsDeprecationWarning: Installing 'pystan.stan.lib.stan_math' as data is deprecated, please list it in `packages`.
!!
.
.
.
.
.
############################
# Package would be ignored #
############################
Python recognizes 'pystan.tests.data' as an importable package,
but it is not listed in the `packages` configuration of setuptools.
'pystan.tests.data' has been automatically added to the distribution only
because it may contain data files, but this behavior is likely to change
in future versions of setuptools (and therefore is considered deprecated).
Please make sure that 'pystan.tests.data' is included as a package by using
the `packages` configuration field or the proper discovery methods
(for example by using `find_namespace_packages(...)`/`find_namespace:`
instead of `find_packages(...)`/`find:`).
You can read more about "package discovery" and "data files" on setuptools
documentation page.
!!
check.warn(importable)
copying pystan/_api.cpp -> build/lib.linux-x86_64-cpython-310/pystan
copying pystan/_api.pyx -> build/lib.linux-x86_64-cpython-310/pystan
copying pystan/_chains.cpp -> build/lib.linux-x86_64-cpython-310/pystan
.
.
.
.
.
.
.
.
.
.
.
copying pystan/tests/data/external2.stan -> build/lib.linux-x86_64-cpython-310/pystan/tests/data
running build_ext
building 'pystan._api' extension
Warning: Can't read registry to find the necessary compiler setting
Make sure that Python modules winreg, win32api or win32con are installed.
INFO: C compiler: /home/user/gcc/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
creating build/temp.linux-x86_64-cpython-310
creating build/temp.linux-x86_64-cpython-310/pystan
creating build/temp.linux-x86_64-cpython-310/pystan/stan
creating build/temp.linux-x86_64-cpython-310/pystan/stan/src
creating build/temp.linux-x86_64-cpython-310/pystan/stan/src/stan
creating build/temp.linux-x86_64-cpython-310/pystan/stan/src/stan/lang
creating build/temp.linux-x86_64-cpython-310/pystan/stan/src/stan/lang/grammars
INFO: compile options: '-DBOOST_DISABLE_ASSERTS -DBOOST_NO_DECLTYPE -DBOOST_PHOENIX_NO_VARIADIC_EXPRESSION -DBOOST_RESULT_OF_USE_TR1 -DFUSION_MAX_VECTOR_SIZE=12 -I./pystan -Ipystan/stan/src -Ipystan/stan/lib/stan_math/ -Ipystan/stan/lib/stan_math/lib/eigen_3.3.3 -Ipystan/stan/lib/stan_math/lib/boost_1.69.0 -Ipystan/stan/lib/stan_math/lib/sundials_4.1.0/include -I/home/user/py310/include/python3.10 -c'
extra options: '-Os -ftemplate-depth-256 -Wno-unused-function -Wno-uninitialized -std=c++1y'
INFO: gcc: pystan/stan/src/stan/lang/ast_def.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/bare_type_grammar_inst.cpp
INFO: gcc: pystan/_api.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/block_var_decls_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/expression07_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/expression_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/functions_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/indexes_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/local_var_decls_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/program_grammar_inst.cpp
In file included from pystan/stan/src/stan/lang/generator/expression_visgen.hpp:7,
from pystan/stan/src/stan/lang/generator/generate_expression.hpp:5,
from pystan/stan/src/stan/lang/generator/write_begin_all_dims_col_maj_loop.hpp:6,
from pystan/stan/src/stan/lang/generator.hpp:10,
from pystan/stan/src/stan/lang/compiler.hpp:6,
from pystan/stanc.hpp:2,
from pystan/_api.cpp:784:
pystan/stan/src/stan/lang/generator/generate_indexed_expr.hpp: In instantiation of ‘void stan::lang::generate_indexed_expr(const string&, const std::vector<stan::lang::expression>&, stan::lang::bare_expr_type, bool, std::ostream&) [with bool isLHS = false; std::string = std::__cxx11::basic_string<char>; std::ostream = std::basic_ostream<char>]’:
pystan/stan/src/stan/lang/generator/expression_visgen.hpp:117:54: required from here
pystan/stan/src/stan/lang/generator/generate_indexed_expr.hpp:44:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<stan::lang::expression>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
44 | && base_type.num_dims() == indexes.size()) {
| ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
INFO: gcc: pystan/stan/src/stan/lang/grammars/semantic_actions_def.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/statement_2_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/statement_grammar_inst.cpp
INFO: gcc: pystan/stan/src/stan/lang/grammars/term_grammar_inst.cpp
In file included from pystan/stan/src/stan/lang/ast_def.cpp:97:
pystan/stan/src/stan/lang/ast/sigs/function_signatures_def.hpp: In constructor ‘stan::lang::function_signatures::function_signatures()’:
pystan/stan/src/stan/lang/ast/sigs/function_signatures_def.hpp:484:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without
484 | function_signatures::function_signatures() {
| ^~~~~~~~~~~~~~~~~~~
INFO: gcc: pystan/stan/src/stan/lang/grammars/whitespace_grammar_inst.cpp
INFO: /home/user/gcc/bin/g++ -shared build/temp.linux-x86_64-cpython-310/pystan/_api.o build/temp.linux-x86_64-cpython-310/pystan/stan/src/stan/lang/ast_def.o build/temp.linux-x86_64-cpython-310/pystan/stan/src/stan/lang/grammars/bare_type_grammar_inst.o build/temp.linux-x86_64-cpython-
.
.
.
pystan/stan/lib/stan_math/lib/eigen_3.3.3/Eigen/src/Core/AssignEvaluator.h:86:63: warning: enum constant in boolean context [-Wint-in-bool-context]
86 | MayLinearVectorize = bool(MightVectorize) && MayLinearize && DstHasDirectAccess
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from pystan/stan/lib/stan_math/lib/eigen_3.3.3/Eigen/Core:420,
from pystan/stan/lib/stan_math/lib/eigen_3.3.3/Eigen/Dense:1,
from pystan/stan/lib/stan_math/stan/math/prim/mat/fun/Eigen.hpp:4,
from pystan/stan/lib/stan_math/stan/math/prim/mat/fun/autocovariance.hpp:4,
from pystan/_chains.cpp:771:
pystan/stan/lib/stan_math/lib/eigen_3.3.3/Eigen/src/Core/AssignEvaluator.h:90:50: warning: enum constant in boolean context [-Wint-in-bool-context]
90 | MaySliceVectorize = bool(MightVectorize) && bool(DstHasDirectAccess)
| ^~~~~~~~~~~~~~~~~~~~~~~~
INFO: /home/user/gcc/bin/g++ -shared build/temp.linux-x86_64-cpython-310/pystan/_chains.o -o build/lib.linux-x86_64-cpython-310/pystan/_chains.cpython-310-x86_64-linux-gnu.so
building 'pystan._misc' extension
INFO: C compiler: /home/user/gcc/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC
INFO: compile options: '-I/home/user/py310/include/python3.10 -c'
extra options: '-Os -ftemplate-depth-256 -Wno-unused-function -Wno-uninitialized -std=c++1y'
INFO: gcc: pystan/_misc.cpp
In file included from /home/user/py310/include/python3.10/Python.h:74,
from pystan/_misc.cpp:24:
pystan/_misc.cpp: In function ‘void __pyx_tp_dealloc_array(PyObject*)’:
/home/user/py310/include/python3.10/object.h:133:58: error: lvalue required as increment operand
133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob))
| ^
pystan/_misc.cpp:15723:7: note: in expansion of macro ‘Py_REFCNT’
15723 | ++Py_REFCNT(o);
| ^~~~~~~~~
/home/user/py310/include/python3.10/object.h:133:58: error: lvalue required as decrement operand
133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob))
| ^
pystan/_misc.cpp:15725:7: note: in expansion of macro ‘Py_REFCNT’
15725 | --Py_REFCNT(o);
| ^~~~~~~~~
pystan/_misc.cpp: In function ‘void __pyx_tp_dealloc_memoryview(PyObject*)’:
/home/user/py310/include/python3.10/object.h:133:58: error: lvalue required as increment operand
133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob))
| ^
pystan/_misc.cpp:16018:7: note: in expansion of macro ‘Py_REFCNT’
16018 | ++Py_REFCNT(o);
| ^~~~~~~~~
/home/user/py310/include/python3.10/object.h:133:58: error: lvalue required as decrement operand
133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob))
| ^
pystan/_misc.cpp:16020:7: note: in expansion of macro ‘Py_REFCNT’
16020 | --Py_REFCNT(o);
| ^~~~~~~~~
pystan/_misc.cpp: In function ‘void __pyx_tp_dealloc__memoryviewslice(PyObject*)’:
/home/user/py310/include/python3.10/object.h:133:58: error: lvalue required as increment operand
133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob))
| ^
pystan/_misc.cpp:16260:7: note: in expansion of macro ‘Py_REFCNT’
16260 | ++Py_REFCNT(o);
| ^~~~~~~~~
/home/user/py310/include/python3.10/object.h:133:58: error: lvalue required as decrement operand
133 | #define Py_REFCNT(ob) _Py_REFCNT(_PyObject_CAST_CONST(ob))
| ^
pystan/_misc.cpp:16262:7: note: in expansion of macro ‘Py_REFCNT’
16262 | --Py_REFCNT(o);
| ^~~~~~~~~
In file included from /home/user/py310/include/python3.10/unicodeobject.h:1046,
from /home/user/py310/include/python3.10/Python.h:83,
from pystan/_misc.cpp:24:
pystan/_misc.cpp: In function ‘int __Pyx_ParseOptionalKeywords(PyObject*, PyObject***, PyObject*, PyObject**, Py_ssize_t, const char*)’:
/home/user/py310/include/python3.10/cpython/unicodeobject.h:451:75: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations]
451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
| ^
/home/user/py310/include/python3.10/cpython/unicodeobject.h:261:7: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’
261 | PyUnicode_WSTR_LENGTH(op) : \
| ^~~~~~~~~~~~~~~~~~~~~
pystan/_misc.cpp:18078:22: note: in expansion of macro ‘PyUnicode_GET_SIZE’
18078 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^~~~~~~~~~~~~~~~~~
/home/user/py310/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/py310/include/python3.10/cpython/unicodeobject.h:451:75: warning: ‘Py_ssize_t _PyUnicode_get_wstr_length(PyObject*)’ is deprecated [-Wdeprecated-declarations]
451 | #define PyUnicode_WSTR_LENGTH(op) _PyUnicode_get_wstr_length((PyObject*)op)
| ^
/home/user/py310/include/python3.10/cpython/unicodeobject.h:261:7: note: in expansion of macro ‘PyUnicode_WSTR_LENGTH’
261 | PyUnicode_WSTR_LENGTH(op) : \
| ^~~~~~~~~~~~~~~~~~~~~
pystan/_misc.cpp:18078:22: note: in expansion of macro ‘PyUnicode_GET_SIZE’
18078 | (PyUnicode_GET_SIZE(**name) != PyUnicode_GET_SIZE(key)) ? 1 :
| ^~~~~~~~~~~~~~~~~~
/home/user/py310/include/python3.10/cpython/unicodeobject.h:446:26: note: declared here
446 | static inline Py_ssize_t _PyUnicode_get_wstr_length(PyObject *op) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
pystan/_misc.cpp:18596:45: warning: ‘PyObject* PyUnicode_FromUnicode(const Py_UNICODE*, Py_ssize_t)’ is deprecated [-Wdeprecated-declarations]
18596 | return PyUnicode_FromUnicode(NULL, 0);
| ^
In file included from /home/user/py310/include/python3.10/unicodeobject.h:1046,
from /home/user/py310/include/python3.10/Python.h:83,
from pystan/_misc.cpp:24:
/home/user/py310/include/python3.10/cpython/unicodeobject.h:551:42: note: declared here
551 | Py_DEPRECATED(3.3) PyAPI_FUNC(PyObject*) PyUnicode_FromUnicode(
| ^~~~~~~~~~~~~~~~~~~~~
error: Command "/home/user/gcc/bin/gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/user/py310/include/python3.10 -c pystan/_misc.cpp -o build/temp.linux-x86_64-cpython-310/pystan/_misc.o -Os -ftemplate-depth-256 -Wno-unused-function -Wno-uninitialized -std=c++1y" failed with exit status 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pystan
Running setup.py clean for pystan
Failed to build pystan
Googling around gives me the impression that there may be a mismatch between my c++ compiler version, and the version that pystan 2.19.1.1 expects. Let me add that pystan 3.4.0 install just fine, but is incompatible with fbprophet.
My system specifications are:
Operating System: CentOS Linux 7 (Core)
Python Version : Python 3.10
PyStan Version: 2.19.1.1
Compiler/Toolkit: GCC 9.2.0
Should I be using a different version of python? or gcc?
Thank you!