kaggle学习(一)环境搭建

kaggle里的代码都是jupyter notebook 中的,我们也装一个,在python 2.7版本下安装会报字体错误,无法打开jupyter notebook所以需要安装多版本python

1.多版本python环境管理器安装

参考链接:https://www.linuxidc.com/Linux/2018-04/151988.htm

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash 

修改bashrc

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)" 

查看可用python版本

pyenv install --list

安装python可能用到的依赖包

sudo apt-get update
sudo apt-get install make build-essential libssl-dev zlib1g-dev
sudo apt-get install libbz2-dev libreadline-dev libsqlite3-dev wget curl
sudo apt-get install llvm libncurses5-dev libncursesw5-dev

安装所需版本python,例如

pyenv install anaconda3-4.1.0 -v
#输出显示
/tmp/python-build.20170108123450.2752 ~
Downloading Anaconda3-4.1.0-Linux-x86_64.sh...
-> https://repo.continuum.io/archive/Anaconda3-4.1.0-Linux-x86_64.sh

可以复制链接手动下载,这样更快一些:

执行 pyenv install anaconda3-4.1.0 -v 获取下载链接
用wget从下载链接中获取文件 Anaconda3-4.1.0-Linux-x86_64.sh
将安装包移动到 ~/.pyenv/cache/Anaconda3-4.1.0-Linux-x86_64.sh
重新执行 pyenv install anaconda3-4.1.0 -v 命令。该命令会检查 cache 目录下已有文件的完整性,若确认无误,则会直接使用该安装文件进行安装。
安装过程中,若出现编译错误,通常是由于依赖包未满足,需要在安装依赖包后重新执行该命令。

更新数据库
在安装 Python 或者其他带有可执行文件的模块之后,需要对数据库进行更新:

pyenv rehash

查看当前已安装的 python 版本

pyenv versions

其中的星号表示当前正在使用的是系统自带的 python。

设置全局的 python 版本
 

$ pyenv global anaconda3-4.1.0
$ pyenv versions
system
* anaconda3-4.1.0 (set by /home/seisman/.pyenv/version)

当前全局的 python 版本已经变成了 anaconda3-4.1.0。也可以使用 pyenv local 或 pyenv shell 临时改变 python 版本。

确认 python 版本
 

$ python
Python 3.5.2 (Anaconda 4.1.0, Sep 10 2014, 17:10:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

pyenv 其他功能
pyenv uninstall  - 卸载某个版本
pyenv update  - 更新pyenv及其插件

2.安装pip3

sudo apt install python3-pip

pip3 --version

sudo  apt install build-essential python3-dev python3-setuptools

更新pip

提示错误:module 'pip' has no attribute 'main'

解决方法参考链接:https://www.jianshu.com/p/373d04d80f3e

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
python3 get-pip.py

jupyter notebook 报错:ImportError: cannot import name 'Type'

据说这个type模块只有python3.5以上才能用,我们安装的是3.5.1呀,不知道为什么不行,反正是版本之间的冲突问题,降级tornado后可以打开了

参考链接:https://blog.csdn.net/qq_15256443/article/details/88316185

pip3 install tornado==5.1.1

虽然可以打开jupyter notebook了,但是里边似乎是识别的python2环境,先凑合用吧,使用pyenv切换环境以后,之前安装的python包也不能用了,需要重新安装。

虽然安装了这个多版本python管理器,但是并没有什么用,还是给系统直接装两个python,再分别安装pip、pip3并升级到最新版本,之后缺什么包,就用相应的pip/pip3进行安装。

 

3.测试

按照教程跑一下代码

# data analysis and wrangling
import pandas as pd
import numpy as np
import random as rnd

# visualization
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline

# machine learning
from sklearn.linear_model import LogisticRegression
from sklearn.svm import SVC, LinearSVC
from sklearn.ensemble import RandomForestClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.linear_model import Perceptron
from sklearn.linear_model import SGDClassifier
from sklearn.tree import DecisionTreeClassifier

这里会提示一个错误,根据https://blog.csdn.net/qq_36346262/article/details/79366266得到解决

就到错误提示的目录里面找到font_manager.py文件,将其大约在231行左右的direc = os.path.abspath(direc).lower() 改为:direc = direc.split(‘\0’, 1)[0]就可以解决了。 

train_df = pd.read_csv('./train.csv')
test_df = pd.read_csv('./test.csv')
combine = [train_df, test_df]

这里默认路径是home,所以把下载下来的csv文件放到home下就可以读取了

接着就是按照教程来:https://www.kaggle.com/startupsci/titanic-data-science-solutions

调用matplotlib又出现了版本问题:https://ask.csdn.net/questions/710311

 sudo pip install matplotlib==2.2.0

因为版本问题太多,大多是是因为版本不够新,而新版本的包多只支持python3,所以系统安装python3,并在python3环境下操作,使用pip3安装相应包。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值