시스템 교체 파이썬은 좋은 생각이 아닙니다. 한 포인트 씩 올라간다. 아마 시스템을 깨뜨리지는 않지만 누가 위험을 감수하려합니까? 라이브러리를 시스템에 설치 easy_install
을 사용하는 Python은 서로 충돌하는 경우 의 문제가 발생할 수 있습니다.
대안은 소스에서 파이썬을 구축 홈 디렉토리에 설치하고 더 인 (pip
를 사용하면 주어진 프로젝트에 필요한 어떤 라이브러리를 설치할 수있는에 고립 된 환경을 만들기 위해 VIRTUALENV 사용하는 것입니다 현대 easy_install
해당).
Python 2.7의 경우 표준 라이브러리의 '선택 사항'부분 중 일부를 원한다면 다른 몇 가지 사항도 빌드해야합니다.
#!/bin/bash -e
# Setup
sudo aptitude install build-essential
mkdir -p ${HOME}/.local
mkdir build-python
cd build-python
# Get sources
### Tcl/Tk <http://www.tcl.tk/software/tcltk/download.html>
wget "http://downloads.sourceforge.net/project/tcl/Tcl/8.5.13/tcl8.5.13-src.tar.gz"
wget "http://downloads.sourceforge.net/project/tcl/Tcl/8.5.13/tk8.5.13-src.tar.gz"
### Berkeley DB <http://www.oracle.com/technetwork/products/berkeleydb/downloads/index-082944.html>
wget "http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz"
### Python <http://www.python.org/download/>
wget "http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz"
# Build Tcl
tar xzf tcl8.5.13-src.tar.gz
cd tcl8.5.13/unix
./configure --prefix=${HOME}/.local
make
make install
cd ../..
# Build Tk
tar xzf tk8.5.13-src.tar.gz
cd tk8.5.13/unix
./configure --prefix=${HOME}/.local
make
make install
cd ../..
# Build Berkeley DB 4.8
tar xzf db-4.8.30.tar.gz
cd db-4.8.30/build_unix
../dist/configure --prefix=${HOME}/.local/opt/BerkeleyDB.4.8 --enable-tcl --with-tcl=${HOME}/.local/lib
make
make install
cd ../..
# Set compile flags
export LDFLAGS="-L${HOME}/.local/lib -L${HOME}/.local/opt/BerkeleyDB.4.8/lib"
export CPPFLAGS="-I${HOME}/.local/include -I${HOME}/.local/opt/BerkeleyDB.4.8/include"
export CXXFLAGS=${CPPFLAGS}
export CFLAGS=${CPPFLAGS}
export LD_LIBRARY_PATH=${HOME}/.local/lib:${HOME}/.local/opt/BerkeleyDB.4.8/lib
export LD_RUN_PATH=${LD_LIBRARY_PATH}
# Build Python 2.7
tar xzf Python-2.7.3.tgz
cd Python-2.7.3
./configure --prefix=${HOME}/.local
make
make altinstall
cd ..
# Install virtualenv, pip and virtualenvwrapper
curl http://python-distribute.org/distribute_setup.py | ${HOME}/.local/bin/python2.7
curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | ${HOME}/.local/bin/python2.7
${HOME}/.local/bin/pip install virtualenvwrapper
# Update ~/.bashrc
echo 'export PATH="${HOME}/.local/bin:${PATH}"' >> ${HOME}/.bashrc
echo 'export WORKON_HOME="${HOME}/.local/virtualenv"' >> ${HOME}/.bashrc
echo 'export VIRTUALENVWRAPPER_PYTHON="${HOME}/.local/bin/python2.7"' >> ${HOME}/.bashrc
echo 'export VIRTUALENVWRAPPER_VIRTUALENV="${HOME}/.local/bin/virtualenv"' >> ${HOME}/.bashrc
echo 'export VIRTUALENVWRAPPER_VIRTUALENV_ARGS="--python=python2.7"' >> ${HOME}/.bashrc
echo 'source ${HOME}/.local/bin/virtualenvwrapper.sh' >> ${HOME}/.bashrc
# Finish ...
cd ..
echo -e "\n\n ... Done!"
이 스크립트는 암호를 요청합니다 : 여기에 (글을 쓰는 시점에서, 안정) 데비안 "짜기"에 나를 위해 그 작품 (주로 interweb에 걸쳐 흩어져 블로그 게시물에서 함께 자갈길) 스크립트 입니다 GCC 등을 설치하려면 필요한 시간을 갖기 위해 내 (고대) 기기와 (끔찍한) 인터넷 연결에 대해 모든 것을 구축하는 데 시간이 걸립니다.
Python build finished, but the necessary bits to build these modules were not found:
bsddb185 dl imageop
sunaudiodev
To find the necessary bits, look in setup.py in detect_modules() for the module's name.
그 4 개 개의 모듈이 오래된 및/또는 사용되지 않습니다, 그래서 당신은 그들에 대해 을 걱정할 필요가 없습니다 : 당신이 관심을 지불하는 경우, 일부 시점에서 다음과 같은 메시지 스크롤 과거를 볼 수 있습니다. 메시지에 다른 모듈이 언급되어 있으면 필요한 라이브러리가 시스템에 설치되어 있지 않음을 의미합니다. 이 경우 Python을 실행할 수는 있지만 해당 모듈을 가져올 수는 없습니다. 댓글에서 영향을받는 경우 큰 소리로 말하고 스크립트를 적절하게 업데이트하겠습니다.그이 성공적으로 완료 일단
, 당신은 소스하셔야합니다 .bashrc
:
$ source ~/.bashrc
... 당신은 다음 새로 컴파일 된 파이썬을 실행 할 수 있습니다 ...
$ python2.7
Python 2.7.3 (default, Nov 17 2012, 02:00:26)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
. ..에서 일할 virtualenv를 만드십시오 ...
$ mkvirtualenv my_env
$ python
Python 2.7.3 (default, Nov 17 2012, 02:00:26)
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
... 그것에 라이브러리를 설치하십시오 ...
$ pip install beautifulsoup4
... 등등. 자세한 내용은
$ workon my_env
pip 및 virtualenvwrapper에 대한 문서를 체크 아웃 :
$ deactivate
나중에 그것을 다시 입력 :
는 VIRTUALENV를 종료합니다.
'pkg_resources'가 파이썬 경로에 있는지 확인하십시오. 'setup.py'에'sys.path'를 출력하면 이것을 확인할 수 있습니다. 그것이 경로에 없다면,'sys.path'에 추가하여 추가하십시오. – inspectorG4dget
파이썬 패키지를 2.7으로 업그레이드 할 수 있습니까? – synthesizerpatel
@synthesizerpatel apt-get 업그레이드를 시도했지만 여전히 동일한 오류가 발생합니다. – hyleaus