Memo/Python/install

https://dexlab.net:443/pukiwiki/index.php?Memo/Python/install
 

Install


インストールできない場合

  • Windows10上のWSL1で、Ubuntu 18.04 LTSでpytnon 3.6.8をインストールしたい。
    • エラー
      pyenv install -v 3.6.8
      ...
      ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
    • apt updateで成功した
      sudo apt-get update
      sudo apt-get install libssl-dev
      pyenv install -v 3.6.8
      pyenv local 3.6.8
      python3 -V
      Python 3.6.8

setuptools を使ったインストールで、0.0.0-pyX.Y.egg が出来る場合

  • 環境
    • CentOS 6.x
    • python 3.5
    • pip (9.0.1)
    • setuptools (33.1.1)
  • 現象
    • setuptools を使うと、以下の様な 0.0.0 eggディレクトリができる
      .eggs/importlib_metadata-0.0.0-py3.5.egg
  • 一時的な解決方法
    sudo pip3.5 install setuptools --upgrade
    
    rm -rf .eggs/importlib_metadata-0.0.0-py3.5.egg

python3のインストール


CentOS5.xにpython2.6をインストール

  • CentOS5.xはデフォルトでpython2.4がインストールされており、削除できない
  • epelにpython26がある
    # EPELリポジトリを追加
    sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL
    sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/$(uname -i)/epel-release-5-4.noarch.rpm
    
    # python 2.6をインストール(awsを使うなら python26-boto も追加)
    sudo yum install python26 python26-devel python26-distribute --enablerepo=epel
    
    # pipをインストール
    sudo easy_install-2.6 pip
    
    sudo pip2.6 list                                                                                                                                       
    distribute (0.6.10)
    pip (1.5.6)
    setuptools (0.6c11)
    wsgiref (0.1.2)

pip: パッケージ管理

  • pip自体のインストール(epelリポジトリ)
    • CentOS 6.3
      yum install python-setuptools python-pip
  • pipを使ってパッケージのインストール
    pip install pytz
    # バージョンを指定してインストール
    pip install pytz==2013.7
  • アップグレード
    pip install --upgrade pytz
  • インストール済みパッケージをファイルに出力。中身はテキストファイルなので編集可能。
    pip freeze > packages.txt
  • freezeしたパッケージをインストール
    pip install -r packages.txt

virtualenv: 実行環境を仮想的に提供する

  • CentOS6.xではpython2.6系がデフォルトで入っており、yum等で使っているため直接バージョンアップ等はできない。
  • virtualenv で作業環境を複数作る事ができる。pip install等はそれぞれの環境で行う事になる
  • python自体のインストールは別で行い、作業環境を作成する時にpythonのパスを指定(-p PYTHON_EXE)する
python -V
Python 2.6.6

sudo yum install python-devel python-setuptools python-tools python-pip
sudo pip install virtualenv virtualenvwrapper
vim ~/.bashrc
----
if [ -f /usr/bin/virtualenvwrapper.sh ]; then
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
    export WORKON_HOME=$HOME/.virtualenvs
    source /usr/bin/virtualenvwrapper.sh
fi
----
source ~/.bashrc

# pipインストール時に"bz2 module is not available"エラーが出るため
sudo yum install bzip2-devel

# python 2.7.6をインストールする場合(3.3.4も同様)
wget http://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz
tar xvfz Python-2.7.6.tgz
cd Python-2.7.6
./configure --prefix=/usr/local --with-bz2
make
sudo make altinstall

# 仮想環境作成
mkvirtualenv -p /usr/local/bin/python2.7 py27
...
python -V
Python 2.7.6
# install等、自由に作業

# 無効化
deactivate

# 有効化(オプション無しで環境一覧)
workon py27

# 環境削除
rmvirtualenv py27

CentOS6.xにpython2.7をインストール

  • CentOSがpython2.6系を必須にしており、アンインストール等はできない
  • epelにpython27がある
yum install python27 python27-devel python27-tools python27-distribute
easy_install-2.7 pip

which python2.7 pip
/usr/bin/python2.7
/usr/bin/pip

easy_install でインストールしたパッケージの削除

  • eggのパスを確認して削除すれば良いようだ
    sudo easy_install -mxN pip
    sudo rm -rf /usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg
    sudo rm -f /usr/bin/pip

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-11-21 (木) 15:04:01 (16d)