【问题标题】:How do I match version of python version between jupyter notebook and terminal? 3.6.5 to 3.7如何在 jupyter notebook 和终端之间匹配 python 版本? 3.6.5 至 3.7
【发布时间】:2018-10-15 04:52:25
【问题描述】:

我在 jupyter notebook 上遇到以下错误,我认为这是由于我的笔记本电脑上有多个版本的 python,我正在尝试 import xgboost

from xgboost import XGBClassifier

我收到以下错误,

--------------------------------------------------------------------------- ModuleNotFoundError                       Traceback (most recent call last) <ipython-input-4-3728958e329a> in <module>
     15 from sklearn.svm import SVC
     16 from sklearn.neural_network import MLPClassifier
---> 17 from xgboost import XGBClassifier

ModuleNotFoundError: No module named 'xgboost'

当我运行 kfold 选择时,我还会收到以下警告,

# evaluate each model in turn
for name, model in models:
    kfold = model_selection.KFold(n_splits=10, random_state=seed)
    cv_results = model_selection.cross_val_score(
        model, X_train, Y_train, cv=kfold, scoring=scoring)
    results.append(cv_results)

/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/linear_model/logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.
  FutureWarning)
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/linear_model/logistic.py:459: FutureWarning: Default multi_class will be changed to 'auto' in 0.22. Specify the multi_class option to silence this warning.
  "this warning.", FutureWarning)

我在终端和 jupyter notebook 上查看了 python 的版本,发现 jupyter notebook 有 3.6.5 版本,而终端有 3.7 版本。

不确定这是否是导致问题的原因。

jupyter 笔记本:

import sys
print(sys.version)
print(sys.path)
3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/IPython/extensions', '/Users/shafeeqrahaman/.ipython']

这个问题不仅仅存在于 xgboost 包中,而是在我尝试导入 keras 时也会发生

【问题讨论】:

  • 如果您使用 pip 安装包,您可以执行 pip3.6 install xgboost,这样包就会安装在 Jupyter notebook 版本中。
  • 如何将笔记本升级到 3.7

标签: python jupyter-notebook


【解决方案1】:

首先,您需要为 Python 3.7 安装 Jupyter。正如您在控制台中运行python3 时所看到的,它提供了Python 3.7,因此这就是您要使用的命令。

安装 Jupyter
Here is the documentation for reference. 根据您只需运行的文档:

python3 -m pip --upgrade pip
python3 -m pip install jupyter

在 Python 3.7 上运行 Jupyter
python3 -m pip install jupyter
将运行 Jupyter,但特别是在 python3 上,它为您绑定到 Python 3.7。

*这是我记得的做法,但我现在还没有测试过,所以如果有什么变化,这可能不起作用。

【讨论】:

  • 我遵循了命令,但仍然在 jupyter notebook 上显示 3.6.5, import sys print(sys.base_prefix) /Library/Frameworks/Python.framework/Versions/3.6
  • import sys print(sys.version) 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55)
  • 如果您同时安装了 python 3.6 和 python 3.7,python3 调用的版本将取决于您的具体配置。由于python3 指向python3.6python3.7 可执行文件,您可能需要在此类系统上指定python3.7 -m pip install 以保证调用3.7 解释器。
  • @CoreyGoldberg 我试过了,但是 jupyter notebook 上的 python 版本指向 3.6.5,我想知道我该怎么做才能让 jupyter notebook 中的 python 指向 3.7.0
  • import sys print(sys.version) 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 03:03:55) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
猜你喜欢
  • 2020-12-15
  • 1970-01-01
  • 2021-01-08
  • 2019-03-15
  • 1970-01-01
  • 2022-08-06
  • 2018-11-04
  • 1970-01-01
  • 2019-08-20
相关资源
最近更新 更多