Python 3.7rc1でpip install
(コンパイルエラー: PyThreadState
にはメンバーがありません...)できません。
これが報告された場合はお詫びしますが、問題(クローズ/オープン)でもプルリクエストでも見つかりませんでした。
pyyaml(yaml / pyyaml#126)、numpy(numpy / numpy#10500)、cython(cython / cython#1978)、およびpygame(pygame / pygame#382)でも同様の問題が発生しています。
Python3.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が修正してリリースする必要があるもののようです。 我々
ここでは、CythonによるPy3.7のサポートに依存しています。
はい、 https://github.com/cython/cython/issues/1955によると、Python3.7での最小要件はこの問題が修正されたCython0.27.3です。 #11224では、ビルドがCython0.28で正常に機能することを確認できます。
doc/developers/advanced_installation.rst
の最小のCythonバージョンは、おそらくPython3.7に応じて更新する必要があります
Python 3.7のサポートに移行する最も簡単な方法は、毎日の「最新の依存関係」ジョブでそれを使用することです。 ただし、これはNumPyとSciPyがPython3.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。*にダウングレードするかを決定するために、この情報が必要です。
どうもありがとうございました。
いつpip3install scikit-learnを実行できるようになると思いますか? 一週間? 月? 一年?
次のリリースのために非常に大まかに1か月。 一方、開発バージョンhttps://github.com/scikit-learn/scikit-learn/issues/11320#issuecomment -398556438をインストールするか、Python3.6にダウングレードすることができます。
Py3.7のサポートのためだけに0.19.2を急いでリリースすることを検討できますか??
それについて最近開かれた問題の量を考えると、それは確かに好ましいかもしれません。 また、将来Python 3.7を使用する人々のために、0.19.xと0.20.xの間の比較/回帰追跡を簡素化します。
0.19.2のリリースを行うことになった場合、特別な理由もなく0.19.1を見逃したため、追加を検討する2つのことがあります。
Ubuntu 18.04では、推奨される回避策は次のように機能します。
pip install https://github.com/scikit-learn/scikit-learn/archive/master.zip
@rth
次のリリースのために非常に大まかに1か月。 一方、開発バージョン#11320(コメント)をインストールするか、Python3.6にダウングレードすることができます。
HomebrewはデフォルトのPythonインストールを3.7に更新しました。 自作では特定のバージョンをインストールできないため、3.6にダウングレードするのは簡単なことではありません。 参考までに
@bgyarfasbrewで
brew info python3
brew switch python 3.6.5
これは、以前のバージョンがまだローカルマシンにキャッシュされている場合にのみ機能します。
@bgyarfas 3.6がhomebrewにキャッシュされていない場合は、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ユーザーはデフォルトでPython3.7を使用するということです。
重要なのは、平均的なHomebrewユーザーはデフォルトでPython3.7を使用するということです。
Python3.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を使用したPython3.7で機能しました。
もちろん、リリースが利用可能になったら、(おそらく)不安定なマスターブランチから正しいリリースに交換する必要があります。
基本的に準備ができている0.19.Xブランチからインストールすることもできます
リリースしましたが、リリースできる人はまだいません。
リリース0.19.2がPyPIで利用可能になりました: https ://pypi.org/project/scikit-learn/0.19.2/
修正済みとして終了します。 Python3.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 :
これらのバージョンをカバーする計画はありますか?
0.20未満のすべてのバージョン(たとえば、0.16、0.17、0.18、0.19)が壊れることを経験しました。
これらのバージョンをカバーする計画はありますか?
そうは思いません。 Python 3.7を使用しているユーザーは、少なくともscikit-learn0.20.Xにアップグレードする必要があります。
最も参考になるコメント
Python3.7をサポートするマイナーな0.19.2リリースが進行中です。