برای انجام آموزشهای مربوط به پردازش فوق سریع (High Performance Computing) طبق توصیه های متن درسی از یک لینوکس UBUNTU استفاده شده بود، منتهی بنا به دلایلی از کار با لینوکس فوق راضی نبودم، مهمترین مشکل آن عدم راحتی کار در terminal آن در مقایسه با CentOS که بیشتر از 5 سال است با نسخه های متعدد آن کار میکنم.
لذا برای آماده کردن یک سرور از نسخه 6.3 CentOS افتاده کردم.
همانطور که مطلع هستید، CentOS بر مبنای توزیع REDHAT ساخته شده است ( در اصل همان REDHAT است) بهمین دلیل تمرکز آن بیشتر بر امن بودن برنامه ها نسبت به آخرین ورژن بودن آنها است.
بر روی این توزیع، ورژن Python 2.6 می باشد که توصیه کلاس حداقل ورژن 2.7 است و برای این توزیع بسته RPM وجود نداشت یا من به آن دسترسی پیدا نکردم.
به همین دلیل از Source برنامه استفاده کردم.
نحوه کمپایل و تنظیمات آن به صورت زیر است.
# wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2# tar xf Python-2.7.3.tar.bz2# cd Python-2.7.3# ./configure --prefix=/usr/local # make && makealtinstall
# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2# tar xf Python-3.3.0.tar.bz2# cd Python-3.3.0# ./configure --prefix=/usr/local # make && makealtinstall
# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz# tar xf distribute-0.6.35.tar.gz# cd distribute-0.6.35 # python2.7 setup.py install
این کار اسکریپت /usr/local/bin/easy_install-2.7 را می سازد که برای نصب برنامه های Python از آن استفاده میکنیم. این اسکریپت برنامه ها را در مسیر/usr/local/lib/python2.7/site-packages/
دانلود میکندو برای Python3.3Download and install Distribute for Python 3.3
# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz# tar xf distribute-0.6.35.tar.gz# cd distribute-0.6.35 # python3.3 setup.py installاین کار اسکریپت /usr/local/bin/easy_install-3.3 را می سازد که برای نصب برنامه های Python از آن استفاده میکنیم. این اسکریپت برنامه ها را در مسیر/usr/local/lib/python3.3/site-packages/
دانلود میکند.اسکریپت easy-install برای نصب پکیج های مناسب python کاربرد دارد.
و نهایتاکار با چندین نسخه از python دشوار و در اسکریپت نویسی به دلیل متفاوت بودن نگارش بعضی از دستورات در python خطا به وجود خواهد آورد.کلا در لینوکس استفاده از برنامه ها توسط متغیرهای محیطی کنترل میشود. برای سناریوی ما راه حل ساده تری وجود دارد ما از Virtual Python Environment builder یا به سهولت virtualenv استفاده خواهیم کرد که این امکان را به ما میدهد تا Python را در یک محیط محصور شده (Sandbox-like environment) استفاده کنیم، این به خصوص برای حالتی که چندین پروژه هر کدام با وابستگی ها و نسخه های خودش باشد مناسب است.Install and use virtualenv for Python 2.7
# easy_install-2.7 virtualenv# virtualenv-2.7 --distribute someprojectNew python executable in someproject/bin/python2.7Also creating executable in someproject/bin/pythonlling pip................done. # source somepInstalling distribute...................done.Instaroject/bin/activate(someproject)# python --versionPython 2.7.3 (someproject)#Install and use virtualenv for Python 3.3
# easy_install-3.3 virtualenv# virtualenv-3.3 --distribute otherprojectNew python executable in otherproject/bin/python3.3Also creating executable in otherproject/bin/pythonling pip................done. # source otherpInstalling distribute...................done.Instalroject/bin/activate(otherproject)# python --versionPython 3.3.0 (otherproject)#مرجع: http://toomuchdata.com/2012/06/25/how-to-install-python-2-7-3-on-centos-6-2/همانطور که اشاره شد، موارد فوق بر روی CentOS6.3 تست و انجام شده است.