هنگامی که با دستور tar -xzvf بسته سورس برنامه jpegsrc.v6b.tar.gz را باز می کنید، بک پوشه به نام
jpeg-6b ایجاد میشود
اگر با دستور زیر آنرا کمپیال و اجرا کنید به احتمال بسیار زیاد با دو خطا مواجه میشوید
./configure --prefix=/usr/local
make all install
مشکل اول این خواهد بود که فولدر bin در مقصد ساخته نمیشود
( در اینجا این مسیر /usr/local/ است ) راه حل این است که قبل از اجرای
دستور آخر در مسیر /usr/local/ یک فولدر bin بسازید ( به صورت معمول امکان دارد
که سایر برنامه ها در این مسیر فولدر bin را ساخته باشد، اما همانگونه که میدانید،
سویچ --prefix میتواند مسیرهای دیگری را نیز تعریف کند .
مشکل دوم این است که بعد از حل مسئله بالا، فولدری به نام
lib در مقصد شاخته نشده و اگر مثل مورد بالا آنرا بسازید، در آن فایلی کپی
نمیشود.
مشکل با اجرای دستور زیر به جای دستور بالا قابل انجام است.
./configure --prefix=/usr/localmake install-lib make install-headersmake all install
برای انجام آموزشهای مربوط به پردازش فوق سریع (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 تست و انجام شده است.