我有一个安装了python(2.6)的CentOS服务器(rel6),但是我需要3.3+的一些function。 我将3.3安装到一个单独的文件夹中,并创build了一个符号链接来执行它:
问题是,当我用我的新py别名执行python脚本时,它没有安装默认安装所需的所有插件(显式MySQLdb)。
我如何去安装MySQLdb模块,或者任何有关这个问题,以便新的Python 3.3.5安装可访问或可用? 还是有办法让2.6中的当前模块也可以使用到3.3.5?
更新:
我的虚拟环境安装如下
root@server [/]# source ./root/python3.3/bin/activate (python3.3)root@server [/]# (python3.3)root@server [/]# pip freeze MySQL-python==1.2.5 numpy==1.8.1 pandas==0.14.0 python-dateutil==2.2 pytz==2014.4 six==1.6.1
但是当我执行导入时,它仍然失败
(python3.3)root@server [/]# python3.3 -c "import MySQLdb" Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'MySQLdb'
对于多个Python版本,请使用virtualenv和pip来pipe理模块。
所以你可以创build一个具有特定Python版本和模块的虚拟环境。
easy_install pip pip install virtualenv virtualenvwrapper
所以当创build一个特定的Python版本的新环境
mkvirtualenv nameit -p python3.3
如果有任何依赖python可以,只要这样做:
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
从档案中提取文件并进入其path:
tar -xvf setuptools-1.4.2.tar.gz cd setuptools-1.4.2
然后安装使用:
python3.3 setup.py install
你可以做这最后一步在这个Python版本上安装模块,只要下载它并运行python3.3.5安装程序安装,但我build议你使用virtualenv导致其简单的模式pipe理不同的python版本及其模块。
要正确安装virtualenv没有太多麻烦,请按照下列步骤操作
我不确定早期版本,但在CentOS 6.5中,您可以安装CentOS Software Collections Library回购。 这使您可以访问某些工具的更新版本,而Python 3.3就是其中之一。
你可以在这里find关于SCL的一般信息。
您可以安装SCL回购
yum install centos-release-SCL
然后你可以安装python 3.3
yum install python33
SCL的文档在这里 。
解:
为了解决这个问题,我用指定的python(python 3.3)创build了一个新的virtualenv,并且使用了正确的安装程序(easy_install-3.3,它显然是特定于python版本的)来添加模块。 正如pip(pip3.3)的修正版本所证实的那样,它现在似乎正在工作
root@server [~] easy_install pip root@server [~] pip install virtualenv virtualenvwrapper root@server [~] virtualenv --python=/usr/local/bin/python3.3 py3 root@server [~] . /root/py3/bin/activate (py3)root@server [~] easy_install-3.3 numpy (py3)root@server [~] easy_install-3.3 scipy (py3)root@server [~] easy_install-3.3 pandas (py3)root@server [~] easy_install-3.3 scikit-learn (py3)root@server [~] easy_install-3.3 PyMySQL (py3)root@server [~]# pip3.3 freeze PyMySQL==0.6.2 numpy==1.8.1 pandas==0.14.0 pexpect==3.2 pyinotify==0.9.4 python-dateutil==2.2 pytz==2014.4 scikit-learn==0.15.0b1 scipy==0.14.0 scpy==1.1.4 six==1.6.1
我的脚本现在运行在我的虚拟环境中。