Python 3.7rc1์์ pip install
(์ปดํ์ผ ์ค๋ฅ: PyThreadState
์ ๊ตฌ์ฑ์์ด ์์ต๋๋ค ...)์ ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ด ๋ณด๊ณ ๋ ๊ฒฝ์ฐ ์ฌ๊ณผํ์ง๋ง ๋ฌธ์ (ํ์/๊ฐ๋ฐฉ) ๋๋ ์ด์ ๋ํ ํ ๋ฆฌํ์คํธ์์ ์ฐพ์ ์ ์์ต๋๋ค.
pyyaml(yaml/pyyaml#126), numpy(numpy/numpy#10500), cython(cython/cython#1978) ๋ฐ pygame(pygame/pygame#382)์ ์ ์ฌํ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
ํ์ด์ฌ 3.7rc1์ ์ค์นํฉ๋๋ค.
pip install scikit-learn
pip
์ฑ๊ณต.
์ปดํ์ผ ์ค๋ฅ:
...
sklearn/cluster/_dbscan_inner.cpp: In function โint
__Pyx__GetException(PyThreadState*, PyObject**, PyObject**, PyObject**)โ:
sklearn/cluster/_dbscan_inner.cpp:6029:24: error: โPyThreadStateโ has no member named โexc_typeโ
tmp_type = tstate->exc_type;
^
sklearn/cluster/_dbscan_inner.cpp:6030:25: error: โPyThreadStateโ has no member named โexc_valueโ
tmp_value = tstate->exc_value;
^
sklearn/cluster/_dbscan_inner.cpp:6031:22: error: โPyThreadStateโ has no member named โexc_tracebackโ
tmp_tb = tstate->exc_traceback;
^
sklearn/cluster/_dbscan_inner.cpp:6032:13: error: โPyThreadStateโ has no member named โexc_typeโ
tstate->exc_type = local_type;
^
sklearn/cluster/_dbscan_inner.cpp:6033:13: error: โPyThreadStateโ has no member named โexc_valueโ
tstate->exc_value = local_value;
^
sklearn/cluster/_dbscan_inner.cpp:6034:13: error: โPyThreadStateโ has no member named โexc_tracebackโ
tstate->exc_traceback = local_tb;
^
error: Command "g++ -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g
-fwrapv -O3 -Wall -fPIC
-I/data/install/lib/python3.7/site-packages/numpy/core/include
-I/data/install/lib/python3.7/site-packages/numpy/core/include
-I/data/install/include/python3.7m -c sklearn/cluster/_dbscan_inner.cpp -o
build/temp.linux-x86_64-3.7/sklearn/cluster/_dbscan_inner.o -MMD -MF
build/temp.linux-x86_64-3.7/sklearn/cluster/_dbscan_inner.o.d" failed with exit
status 1
Linux-3.10.0-862.el7.x86_64-x86_64-with-redhat-7.5-Maipo
Python 3.7.0rc1 (default, Jun 19 2018, 10:54:58)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]
NumPy 1.14.5
SciPy 1.1.0
์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!
์ต์ ๊ฐ๋ฐ ๋ฒ์ ์ค์น๊ฐ ์๋ํฉ๋๊น?
pip install https://github.com/scikit-learn/scikit-learn/archive/master.zip
์ปดํ์ผํ๋ ค๋ฉด Cython >=0.27.3์ด ํ์ํฉ๋๋ค.
(๋์ค์ ์ฐธ์กฐํ ์ ์๋๋ก https://github.com/scikit-learn/scikit-learn/issues/11224์ ์ฐ๊ฒฐ)
์ด๊ฒ์ Cython์ด ์์ ํ๊ณ ์ถ์ํด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ฐ๋ฆฌ
์ฌ๊ธฐ์์ Py3.7์ ๋ํ Cython์ ์ง์์ ์์กดํฉ๋๋ค.
์, https://github.com/cython/cython/issues/1955 ์ ๋ฐ๋ฅด๋ฉด Python 3.7์ ์ต์ ์๊ตฌ ์ฌํญ์ ์ด ๋ฌธ์ ๊ฐ ์์ ๋ Cython 0.27.3์ ๋๋ค. #11224์์ ๋น๋๊ฐ Cython 0.28์์ ์ ๋๋ก ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
doc/developers/advanced_installation.rst
์ ์ต์ โโCython ๋ฒ์ ์ Python 3.7์ ๋ง๊ฒ ์
๋ฐ์ดํธ๋์ด์ผ ํฉ๋๋ค.
Python 3.7 ์ง์์ผ๋ก ์ด๋ํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ผ์์ ์ธ "์ต์ ์ข ์์ฑ" ์์ ์์ Python 3.7 ์ง์์ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ NumPy์ SciPy๊ฐ Python 3.7์ ์ง์ํ ๋ ๊ฐ์ฅ ์ฝ์ต๋๋ค. NumPy๋ 3.7์ฉ ํ ์ ์์ฐํ๊ณ ์์ต๋๋ค. ํ์ฌ SciPy๋ Python 3.7์์ ๋น๋๋ฅผ ๋ง๋ค์ง ์๊ณ ์์ง๋ง ์์ ์ค์ ๋๋ค(https://github.com/scipy/scipy/pull/8988). ๋ฐ๋ผํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
IMO, ์ฐ๋ฆฌ๋ v0.20.0์์ Python 3.7 ์ง์์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ง๋ง SciPy ๋ฐ Six(https://github.com)์ ์ ํ๋ ์ง์์ ๊ฐ์ํ ๋ ๋ฒ๊ทธ ์์ ๋ฆด๋ฆฌ์ค(0.20.1 ๋๋ 0.20.2)์์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. /benjaminp/six/pull/241).
IMO, v0.20.0์์ Python 3.7 ์ง์์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ง๋ง ๋ฒ๊ทธ ์์ ๋ฆด๋ฆฌ์ค(0.20.1 ๋๋ 0.20.2)์์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค.
Python 3.7์ ์ํฉ์ ์์ฝํ์๋ฉด,
์ด์ SciPy์๋ Python 3.7(๋ชจ๋ ํ๋ซํผ)์ฉ ๋ฐ์ด๋๋ฆฌ ํ ์ด ์์ต๋๋ค.
FWIW, #11409๋ numpy, scipy ๋ฐ cython์ ๊ฐ๋ฐ ๋ฒ์ ์ผ๋ก ๋น๋ํ ์ ์๊ณ ๋ชจ๋ ํ ์คํธ๊ฐ ํต๊ณผํจ์ ์๋ณํฉ๋๋ค(PendingDeprecationWarning ๋ฐ DeprecationWarning ํฌํจ). ๊ทธ๋ฌ๋ ์์ ๊ฐค๋ฌ๋ฆฌ๋ฅผ ์คํํ์ง ์์ต๋๋ค. ๋ํ Windows์์ ๋น๋๋ฅผ ์๋ํ์ง๋ ์์ต๋๋ค(์๋ง๋ ๊ทธ๋์ผ ํจ).
homebrew
๋ ์ ๋ฅผ python 3.7.0์ผ๋ก ์
๊ทธ๋ ์ด๋ํ๊ณ ์ ๋ ์ด์ scikit-learn ์์ด ๋จ์์ต๋๋ค.
๋ด๊ฐ ์ธ์ pip3 install scikit-learn
์ ํ ์ ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐํด? ์ผ์ฃผ์ผ? ํ ๋ฌ? ๋
?
๊ธฐ๋ค๋ฆด์ง ์๋๋ฉด 3.6.*์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ ์ง ๊ฒฐ์ ํ๋ ค๋ฉด ์ด ์ ๋ณด๊ฐ ํ์ํฉ๋๋ค.
๋งค์ฐ ๊ฐ์ฌํฉ๋๋ค.
๋ด๊ฐ ์ธ์ pip3 install scikit-learn์ ํ ์ ์์ ๊ฑฐ๋ผ๊ณ ์๊ฐํ์ธ์? ์ผ์ฃผ์ผ? ํ ๋ฌ? ๋ ?
๋ค์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํ ๋งค์ฐ ๋๋ต์ ์ธ ํ ๋ฌ. ํํธ https://github.com/scikit-learn/scikit-learn/issues/11320#issuecomment -398556438 ๊ฐ๋ฐ ๋ฒ์ ์ ์ค์นํ๊ฑฐ๋ python 3.6์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ Py3.7 ์ง์์ ์ํด ์๋๋ฌ 0.19.2๋ฅผ ์ถ์ํ๋ ๊ฒ์ ๊ณ ๋ คํ ์ ์์ต๋๊น?
์ต๊ทผ์ ๊ทธ๊ฒ์ ๋ํด ์ด๋ฆฐ ๋ฌธ์ ์ ์์ ๊ฐ์ํ ๋ ์ค์ ๋ก ๋ ๋ฐ๋์งํ ์ ์์ต๋๋ค. ๋ํ ๋ฏธ๋์ Python 3.7์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์ํด 0.19.x์ 0.20.x ์ฌ์ด์ ๋น๊ต/ํ๊ท ์ถ์ ์ ๋จ์ํํ ๊ฒ์ ๋๋ค.
0.19.2 ๋ฆด๋ฆฌ์ค๋ฅผ ๋๋ด๋ฉด ํน๋ณํ ์ด์ ์์ด 0.19.1์ ๋์ณค๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ ๋ ๊ฐ์ง ์ฌํญ์ด ์์ต๋๋ค.
Ubuntu 18.04์์ ๊ถ์ฅ๋๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
ํ ์ค์น https://github.com/scikit-learn/scikit-learn/archive/master.zip
@rth
๋ค์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํ ๋งค์ฐ ๋๋ต์ ์ธ ํ ๋ฌ. ํํธ ๊ฐ๋ฐ ๋ฒ์ #11320(์ฝ๋ฉํธ)์ ์ค์นํ๊ฑฐ๋ python 3.6์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
Homebrew๋ ๊ธฐ๋ณธ Python ์ค์น๋ฅผ 3.7๋ก ์ ๋ฐ์ดํธํ์ต๋๋ค. homebrew๋ ํน์ ๋ฒ์ ์ ์ค์น๋ฅผ ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ 3.6์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ์ฌ์ด ์ผ์ด ์๋๋๋ค. ์ฐธ๊ณ ๋ก
@bgyarfas brew์์ python 3.7์์ 3.6.5๋ก ๋ค์ ๋ค์ด๊ทธ๋ ์ด๋ํ ์ ์์ด์ผ ํฉ๋๋ค.
brew info python3
brew switch python 3.6.5
์ด๊ฒ์ ์ด์ ๋ฒ์ ์ด ์ฌ์ ํ ๋ก์ปฌ ์์คํ ์ ์บ์๋์ด ์๋ ๊ฒฝ์ฐ์๋ง ์๋ํฉ๋๋ค.
@bgyarfas ํ๋ธ๋ฅ์ 3.6 ์บ์๊ฐ ์์ผ๋ฉด pyenv๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ค์์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค ...
brew install pyenv
pyenv install 3.6.5
eval "$(pyenv init -)"
pyenv shell 3.6.5
pip install virtualenv
virtualenv venv-3.6
source venv-3.6/bin/activate
virtualenv ์์ด๋ ์ด ์์ ์ ์ํํ ์ ์์ง๋ง ์ผ๋ฐ์ ์ธ ์ค์ ์์๋ ์ด์ ์์กดํฉ๋๋ค.
์์ ์ ํ๊ท ์ ์ธ Homebrew ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก Python 3.7์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
์์ ์ ํ๊ท ์ ์ธ Homebrew ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก Python 3.7์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค.
Python 3.7์ ์ง์ํ ๋ง์ด๋ 0.19.2 ๋ฆด๋ฆฌ์ค๊ฐ ์งํ ์ค์ ๋๋ค.
19.2 ๋ฆด๋ฆฌ์ค ์ผ์ ์ ์ด๋ป๊ฒ ๋ฉ๋๊น?
๊ฐ์ฌ!
@sam-s ์ง๊ธ ํ์ํ ๊ฒฝ์ฐ ์ต์ cython ๋ฒ์ ์ ์ฌ์ฉํ์ฌ ๋ง์คํฐ ๋ธ๋์น๋ฅผ ์ค์นํ ์ ์์ต๋๋ค.
pip install -U cython
pip install -e git+https://github.com/scikit-learn/scikit-learn@master#egg=scikit-learn
์ด๊ฒ์ pipenv๋ฅผ ์ฌ์ฉํ๋ Python 3.7์์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
๋ฌผ๋ก ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ฉด (์๋ง๋) ๋ถ์์ ํ ๋ง์คํฐ ๋ถ๊ธฐ์์ ์ฌ๋ฐ๋ฅธ ๋ฆด๋ฆฌ์ค๋ก ๋ฐ๊ฟ์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋น๋ 0.19.X ๋ถ๊ธฐ์์ ์ค์นํ ์๋ ์์ต๋๋ค.
ํ์ง๋ง ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค ์ ์๋ ์ฌ๋์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ฆด๋ฆฌ์ค 0.19.2๋ ์ด์ PyPI์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. https://pypi.org/project/scikit-learn/0.19.2/
๊ณ ์ ์ผ๋ก ๋ซ์ต๋๋ค. Python 3.7์์ 0.19.2๋ฅผ ์ฌ์ฉํ์ธ์.
0.20.X์ ๊ณํ์ ๋ฌด์์
๋๊น? 0.20.0์์๋ ๋น๋ํ ์ ์์ง๋ง 0.20.1์์๋ ๋น๋ํ ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ค๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
sklearn/cluster/_hierarchical.cpp:24792:13: error: โPyThreadState {aka struct _ts}โ has no member named โexc_tracebackโ; did you mean โcurexc_tracebackโ?
tstate->exc_traceback = *tb;
https://github.com/scikit-learn/scikit-learn/issues/11320#issuecomment -398631435์ ์ธ๊ธ๋ ๋๋ก Cython์ ์ ๋ฐ์ดํธํด ๋ณด์ จ์ต๋๊น?
๋ฐฉ๊ธ 0.20.2๋ก ์ ๋ฐ์ดํธ๋์์ผ๋ฉฐ ์๋ํฉ๋๋ค.
0.20
๋ณด๋ค ๋ฎ์ ๋ชจ๋ ๋ฒ์ (์: 0.16
, 0.17
, 0.18
, 0.19
)์ด ์ค๋จ๋๋ ๊ฒฝํ์ ํ์ต๋๋ค.
๋ด ํ ์คํธ: https://travis-ci.org/nok/sklearn-porter/builds/561765760
์ด ๋ฒ์ ์ ๋ค๋ฃฐ ๊ณํ์ด ์์ต๋๊น?
0.20๋ณด๋ค ๋ฎ์ ๋ชจ๋ ๋ฒ์ (์: 0.16, 0.17, 0.18, 0.19)์ด ๊นจ์ง๋ ๊ฒฝํ์ ํ์ต๋๋ค.
์ด ๋ฒ์ ์ ๋ค๋ฃฐ ๊ณํ์ด ์์ต๋๊น?
๋๋ ๊ทธ๋ ๊ฒ ์๊ฐํ์ง ์๋๋ค. Python 3.7 ์ฌ์ฉ์๋ ์ต์ํ scikit-learn 0.20.X๋ก ์ ๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Python 3.7์ ์ง์ํ ๋ง์ด๋ 0.19.2 ๋ฆด๋ฆฌ์ค๊ฐ ์งํ ์ค์ ๋๋ค.