cent os7でpyenvを使い3.5.1と2.7.5を両方つかいたいです
どのようにしたらpython2.7.5にパッケージを入れて、できるようになるのでしょうか?
ここを見て行いました
http://pppurple.hatenablog.com/entry/2016/01/24/213645
足りない部分などありましたら、掲載します。
ipythonだけで2.7.5でできるようにしたいです。
よろしくお願いします。
3.5.1は
python --version
Python 3.5.1
pip freeze
cycler==0.10.0
matplotlib==1.5.1
numpy==1.11.1
pandas==0.18.1
pyparsing==2.1.5
python-dateutil==2.5.3
pytz==2016.6.1
scikit-learn==0.17.1
scipy==0.18.0
six==1.10.0
で2.7.5は
pyenv versions
- system
-
- 2.7.5 (set by /root/.pyenv/version)
- 3.5.1
pip install --upgrade pip
Requirement already up-to-date: pip in ./.pyenv/versions/2.7.5/lib/python2.7/site-packages
pip freeze
backports-abc==0.4
backports.shutil-get-terminal-size==1.0.0
backports.ssl-match-hostname==3.5.0.1
certifi==2016.2.28
configparser==3.5.0
cycler==0.10.0
Cython==0.24.1
decorator==4.0.10
entrypoints==0.2.2
functools32==3.2.3.post2
ipykernel==4.3.1
ipython==5.0.0
ipython-genutils==0.1.0
ipywidgets==5.2.2
Jinja2==2.8
jsonschema==2.5.1
jupyter==1.0.0
jupyter-client==4.3.0
jupyter-console==5.0.0
jupyter-core==4.1.0
MarkupSafe==0.23
matplotlib==2.0.0b3
mistune==0.7.3
nbconvert==4.2.0
nbformat==4.0.1
notebook==4.2.1
numpy==1.11.1
pandas==0.18.1
pathlib2==2.1.0
pexpect==4.2.0
pickleshare==0.7.3
prompt-toolkit==1.0.3
ptyprocess==0.5.1
pydot==1.2.2
Pygments==2.1.3
pyparsing==2.1.5
python-dateutil==2.5.3
pytz==2016.6.1
pyzmq==15.3.0
qtconsole==4.2.1
scikit-learn==0.17.1
scipy==0.18.0
simplegeneric==0.8.1
singledispatch==3.4.0.3
six==1.10.0
subprocess32==3.2.7
terminado==0.6
tornado==4.4.1
traitlets==4.2.2
wcwidth==0.1.7
widgetsnbextension==1.2.6
今2.7.5でこれを試しにうごかしたのですが、
import numpy as np import matplotlib.pyplot as plt import pandas as pd from pandas import Series, DataFrame from numpy.random import normal N=10 M=[0,1,3,9] def create_dataset(num): dataset = DataFrame(columns=['x','y']) for i in range(num): x = float(i)/float(num-1) y = np.sin(2*np.pi*x) + normal(scale=0.3) dataset = dataset.append(Series([x,y], index=['x','y']), ignore_index=True) return dataset def rms_error(dataset, f): err = 0.0 for index, line in dataset.iterrows(): x, y = line.x, line.y err += 0.5 * (y - f(x))**2 return np.sqrt(2 * err / len(dataset)) def resolve(dataset, m): t = dataset.y phi = DataFrame() for i in range(0,m+1): p = dataset.x**i p.name="x**%d" % i phi = pd.concat([phi,p], axis=1) tmp = np.linalg.inv(np.dot(phi.T, phi)) ws = np.dot(np.dot(tmp, phi.T), t) def f(x): y = 0 for i, w in enumerate(ws): y += w * (x ** i) return y return (f, ws) # Main if __name__ == '__main__': train_set = create_dataset(N) test_set = create_dataset(N) df_ws = DataFrame() fig = plt.figure() for c, m in enumerate(M): f, ws = resolve(train_set, m) df_ws = df_ws.append(Series(ws,name="M=%d" % m)) subplot = fig.add_subplot(2,2,c+1) subplot.set_xlim(-0.05,1.05) subplot.set_ylim(-1.5,1.5) subplot.set_title("M=%d" % m) subplot.scatter(train_set.x, train_set.y, marker='o', color='blue') linex = np.linspace(0,1,101) liney = np.sin(2*np.pi*linex) subplot.plot(linex, liney, color='green', linestyle='--') linex = np.linspace(0,1,101) liney = f(linex) label = "E(RMS)=%.2f" % rms_error(train_set, f) subplot.plot(linex, liney, color='red', label=label) subplot.legend(loc=1) print "Table of the coefficients" print df_ws.transpose() fig.show() df = DataFrame(columns=['Training set','Test set']) for m in range(0,10): # 多項式の次数 f, ws = resolve(train_set, m) train_error = rms_error(train_set, f) test_error = rms_error(test_set, f) df = df.append( Series([train_error, test_error], index=['Training set','Test set']), ignore_index=True) df.plot(title='RMS Error', style=['-','--'], grid=True, ylim=(0,0.9)) plt.show()
以下のようなエラーがでます。
ImportError Traceback (most recent call last) /root/ml4se/scripts/02-square_error.py in <module>() 7 8 import numpy as np ----> 9 import matplotlib.pyplot as plt 10 import pandas as pd 11 from pandas import Series, DataFrame /root/.local/lib/python2.7/site-packages/matplotlib/pyplot.py in <module>() 112 113 from matplotlib.backends import pylab_setup --> 114 _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() 115 116 _IP_REGISTERED = None /root/.local/lib/python2.7/site-packages/matplotlib/backends/__init__.pyc in pylab_setup() 30 # imports. 0 means only perform absolute imports. 31 backend_mod = __import__(backend_name, ---> 32 globals(),locals(),[backend_name],0) 33 34 # Things we pull in from all backends /root/.local/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py in <module>() 4 5 import six ----> 6 from six.moves import tkinter as Tk 7 from six.moves import tkinter_filedialog as FileDialog 8 /root/.local/lib/python2.7/site-packages/six.pyc in load_module(self, fullname) 201 mod = self.__get_module(fullname) 202 if isinstance(mod, MovedModule): --> 203 mod = mod._resolve() 204 else: 205 mod.__loader__ = self /root/.local/lib/python2.7/site-packages/six.pyc in _resolve(self) 113 114 def _resolve(self): --> 115 return _import_module(self.mod) 116 117 def __getattr__(self, attr): /root/.local/lib/python2.7/site-packages/six.pyc in _import_module(name) 80 def _import_module(name): 81 """Import module, returning the module after the last dot.""" ---> 82 __import__(name) 83 return sys.modules[name] 84 /root/.pyenv/versions/2.7.5/lib/python2.7/lib-tk/Tkinter.py in <module>() 37 # Attempt to configure Tcl/Tk without requiring PATH 38 import FixTk ---> 39 import _tkinter # If this fails your Python may not be configured for Tk 40 tkinter = _tkinter # b/w compat for export 41 TclError = _tkinter.TclError ImportError: No module named _tkinter
tkinterに関しては
yum -y install tkinter 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * epel: ftp.riken.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp パッケージ tkinter-2.7.5-34.el7.x86_64 はインストール済みか最新バージョンです何もしません
yum install tk tcl tk-devel
yum install openssl openssl-devel
yum search tkinter
yum install python2-tktable.x86_64
行ったのですがまた出ました。
後matplotlib.pylotで
import matplotlib.pylot --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-5-ac86791859c1> in <module>() ----> 1 import matplotlib.pylot ImportError: No module named pylot
import matplotlibではエラーはでません。
もしかしてmatplotlibのせいですか?
なにがいけないのでしょうか?
ほかにもしこういう方法でpython2.7.5と3.5.1で動かす方法も
あれば教えてください
もう一度 pyenv uninstall 2.7.5
して再度インストールしたほうがいいのでしょうか?
あと間違えてyum install ipythonとうってしまいました。
大丈夫でしょうか?
助けてください。よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/02 12:13
2016/08/02 17:05
2016/08/03 10:25