#pyenv

20 posts loaded — scroll for more

Text
portalnetbe
portalnetbe

Różne wersje Pythona na jednym komputerze – jak zarządzać wieloma środowiskami?

Różne wersje Pythona na jednym komputerze – jak zarządzać wieloma środowiskami?

Różne wersje Pythona na jednym komputerze – jak zarządzać wieloma środowiskami?


Python to jedno z najpopularniejszych języków programowania, wykorzystywany w różnych projektach, od analizy danych po rozwój aplikacji webowych. W trakcie pracy z Pythonem często zachodzi potrzeba korzystania z różnych wersji języka na jednym komputerze, np. ze względu na różne wymagania projektów. W tym artykule wyjaśnimy, jak zarządzać różnymi wersjami Pythona, jakie narzędzia wykorzystać oraz jak skonfigurować środowisko, aby uniknąć konfliktów.
Różne wersje Pythona na jednym komputerze – jak zarządzać wieloma środowiskami?
Różne wersje Pythona na jednym komputerze – jak zarządzać wieloma środowiskami?

1. Dlaczego potrzebujesz wielu wersji Pythona?


Korzystanie z różnych wersji Pythona na jednym komputerze może być konieczne z kilku powodów:
- Kompatybilność projektów: Starsze aplikacje mogą wymagać konkretnej wersji Pythona (np. Python 2.7), podczas gdy nowe projekty korzystają z najnowszych wydań (np. Python 3.11).
- Wymagania bibliotek: Niektóre biblioteki mogą nie być kompatybilne z najnowszą wersją Pythona.
- Eksperymentowanie: Programiści często testują różne wersje języka, aby sprawdzić nowe funkcje lub naprawy błędów.

2. Podstawowe zasady instalacji wielu wersji Pythona


Aby uniknąć konfliktów, warto przestrzegać kilku zasad:
- Nie nadpisuj systemowej wersji Pythona: Systemy operacyjne, takie jak Linux i macOS, mogą polegać na domyślnie zainstalowanej wersji Pythona. Nadpisanie jej może prowadzić do problemów z systemowymi narzędziami.
- Korzystaj z menedżerów wersji: Narzędzia takie jak pyenv lub Anaconda ułatwiają zarządzanie wieloma wersjami Pythona.
- Używaj środowisk wirtualnych: Środowiska wirtualne pozwalają na izolowanie zależności projektów.

3. Narzędzia do zarządzania wersjami Pythona


3.1 Pyenv
Pyenv to jedno z najpopularniejszych narzędzi do zarządzania wersjami Pythona. Umożliwia instalowanie wielu wersji języka oraz ich szybkie przełączanie.
- Zalety:
- Łatwa instalacja różnych wersji Pythona.
- Możliwość ustawienia globalnej i lokalnej wersji Pythona.
- Instalacja Pyenv:
Na systemach Linux i macOS:
curl https://pyenv.run | bash
Na Windows: użyj pyenv-win.
3.2 Anaconda i Miniconda
Anaconda to platforma do analizy danych, która zawiera zarządzanie środowiskami Pythona. Miniconda to jej lżejsza wersja.
- Zalety:
- Wsparcie dla nauki danych i analizy.
- Wbudowany menedżer pakietów conda.
- Instalacja Anacondy: Pobierz instalator ze strony Anaconda.
3.3 Menedżer wersji Pythona na Windows
Na Windows możesz używać py – domyślnego narzędzia do zarządzania Pythonem. Pozwala ono wybrać wersję języka podczas uruchamiania skryptu:
py -2 myscript.py # Uruchomienie skryptu w Python 2
py -3 myscript.py # Uruchomienie skryptu w Python 3

4. Instalacja wielu wersji Pythona na różnych systemach


4.1 Windows
- Pobierz instalatory różnych wersji Pythona ze strony Python.org.
- W trakcie instalacji zaznacz opcję “Add Python to PATH”.
- Użyj narzędzia py, aby zarządzać wersjami.
4.2 Linux
- Użyj menedżera pakietów (np. apt na Ubuntu):
sudo apt install python3.x
- Możesz również skompilować Python ze źródła:
wget https://www.python.org/ftp/python/3.x.x/Python-3.x.x.tgz
tar -xvf Python-3.x.x.tgz
cd Python-3.x.x
./configure
make
sudo make install
4.3 macOS
- Na macOS możesz użyć narzędzia Homebrew:
brew install python@3.x
- Zainstalowane wersje będą dostępne pod różnymi nazwami (np. python3.x).

5. Zarządzanie środowiskami wirtualnymi


5.1 Tworzenie środowiska wirtualnego
- Zainstaluj virtualenv:
pip install virtualenv
- Utwórz środowisko:
virtualenv venv
- Aktywuj środowisko:
- Linux/macOS: source venv/bin/activate
- Windows: venvScriptsactivate
5.2 Korzystanie z venv (wbudowanego w Python)
Od Pythona 3.3 możesz korzystać z venv:
python3 -m venv myenv
source myenv/bin/activate # Aktywacja
deactivate # Dezaktywacja

6. Rozwiązywanie problemów z konfiguracją wielu wersji Pythona


- Konflikty w PATH: Upewnij się, że tylko jedna wersja Pythona jest ustawiona w zmiennej PATH w danym momencie.
- Brak kompatybilności pakietów: W środowiskach wirtualnych zawsze instaluj pakiety lokalnie.
- Problemy z Pyenv: Jeśli napotkasz problemy, sprawdź zależności i upewnij się, że wszystkie wymagane pakiety systemowe są zainstalowane.

7. Podsumowanie


Korzystanie z różnych wersji Pythona na jednym komputerze nie musi być skomplikowane. Dzięki narzędziom takim jak Pyenv, Anaconda czy wirtualne środowiska możesz łatwo zarządzać wersjami języka i ich zależnościami. Pamiętaj, aby zawsze izolować projekty za pomocą środowisk wirtualnych, co zapewni Ci pełną kontrolę nad bibliotekami i kompatybilnością.

Read the full article

Text
cyberintel
cyberintel
Text
hazbon
hazbon
Text
hazbon
hazbon
Text
johndunning
johndunning

Install Python on a Mac

Install Python on a Mac

Install Command Line Tools
  • open a terminal session
  • enter the following command
xcode-select --install
Install Homebrew
  • navigate to brew.sh
  • copy the installation script
  • open a terminal session
  • paste the installation script into your terminal session
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Install Pyenv
  • open a terminal session
brew…

View On WordPress

Photo
pythonfan-blog
pythonfan-blog

Using **pyenv** to Install Multiple Python Versions for Project
https://morioh.com/p/08136ec88991?f=5c21fb01c16e2556b555ab32

#python #pyenv #developer #programming

photo
Link
oppara
oppara

pipenvとGitとDockerを使ったPython開発フロー - Qiita

pipenvとGitとDockerを使ったPython開発フロー - Qiita
qiita.com
Text
gslin
gslin

在 MacPorts 上裝 pyenv...

在 MacPorts 上裝 pyenv…

因為先前從 Homebrew 跳到 MacPorts 了,剛好有機會重新弄 pyenv,結果發現要解決的問題不少…

第一個遇到的是需要的 library 抓不到的問題,找了官方說明「Common build problems」後知道要自己加上一些環境變數讓 compiler 抓。

解決之後發現 pyenv 會自己編一個 openssl 版本給 Python 用,不會裝到系統內,但是又會因為 /usr/local/opt/ 寫不進去而失敗,所以給他一個可以寫入的目錄。

接下來是 zlib 的路徑也不在前面設定的目錄裡而抓不到,所以得想辦法再找出來塞到環境變數內… 也就是「Install failed, “zlib not available” on macOS Mojave #1219」這篇給的方法。

最後是這樣:

sudo mkdir /usr/local/opt; sudo chown…

View On WordPress

Text
dnohito
dnohito

CentOS 7にpyenvとvirtualenvをいれる

pip(python3.6)で入れたモジュールがどうしてもpython2.7系の方に入るので、pyenvとvirtualenvでpython3.x系の環境を構築する

環境

  • OS: CentOS 7.5
$ cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

pyenvのインストール

  • 依存パッケージを入れる
$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel git
  • pyenv を ~/.pyenv に git clone
$ git config --global http.proxy {Proxy IP Addresss}:{Proxy Port}
$ git config --global https.proxy {Proxy IP Addresss}:{Proxy Port}
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
  • ~/.bash_profile に環境変数などを設定
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
  • 環境変数を反映
$ source ~/.bash_profile
  • インストール可能なpythonのバージョンリストを確認
$ pyenv install --list
  • pyenvでインストールするために~/.bash_profileにプロキシ設定
$ export https_proxy="{Proxy IP Address}:{Proxy Port}"
  • 今回はpython3.7.0をインストール
$ pyenv install 3.7.0
  • pyenvのpython環境一覧を確認
$ pyenv versions
* system
  3.7.0 (set by /home/hoge/.pyenv/version)
  • pyenvの環境の遷移
$ pyenv global 3.7.0
$ pyenv versions
  system
* 3.7.0 (set by /home/hoge/.pyenv/version)

いまの環境がどこにいるか、*印がつく

virtualenvのインストール

  • veritualenvをgit cloneする
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
  • .bash_profileに追記
$ vim ~/.bash_profile
# 以下追記
eval "$(pyenv virtualenv-init -)"

$ source ~/.bash_profile
  • virtualenvで環境作成
    $ pyenv virtualenv pyenvのバージョン名 作成環境名
$ pyenv virtualenv 3.7.0 vpython_3.7.0
  • pyenvのpython環境一覧を確認
$ pyenv versions
  system
* 3.7.0 (set by /home/hoge/.pyenv/version)
  3.7.0/envs/vpython_3.7.0
  vpython_3.7.0

なぜか1個多いが、既存のpythonのシンボリックリンクしてるので表示しちゃうらしい
--skip-aliasesで非表示もできる

  • 作った環境に移動
$ pyenv global vpython_3.7.0

表示が変わる

(vpython_3.7.0)hogehoge@hogehoge $ 

※ログインすると初期環境がvpython_3.7.0になる
いやなら~/.bash_profileeval "$(pyenv virtualenv-init -)"を消す

virtualenvで作った環境に必要なモジュールを入れる

$ python -m pip install numpy scipy pandas
  • インストールしたモジュールの確認
$ pip list
Package         Version
--------------- -------
numpy           1.15.4
pandas          0.23.4
pip             10.0.1
python-dateutil 2.7.5
pytz            2018.7
setuptools      39.0.1
six             1.12.0

データ生成プログラムが動くか確認する(T氏 パラメータを小さくするのを忘れずに!)

★完了

エラー

  • ModuleNotFoundError: No module named ’_ctypes’
    libffi-develをインストールする

    $ pyenv install 3.7.0
    ModuleNotFoundError: No module named '_ctypes'
    $ sudo yum -y install libffi-devel
    

    もう一度インストール

    $ pyenv install 3.7.0
    

参考

Link
oppara
oppara

anyenvによるPython環境構築 - Qiita

anyenvによるPython環境構築 - Qiita
qiita.com
Link
animist
animist

pyenvでpythonの仮想環境を構築 - Qiita

pyenvでpythonの仮想環境を構築 - Qiita
qiita.com
Link
animist
animist

pyenv-virtualenvでディレクトリ単位のpython環境構築 - Qiita

pyenv-virtualenvでディレクトリ単位のpython環境構築 - Qiita
qiita.com
Link
animist
animist

pyenv と pyenv-virtualenv で環境構築 - Qiita

pyenv と pyenv-virtualenv で環境構築 - Qiita
qiita.com
Link
oppara
oppara

2018年のPythonプロジェクトのはじめかた - Qiita

2018年のPythonプロジェクトのはじめかた - Qiita
qiita.com
Text
gslin
gslin

用 pipsi 管 Python 的 command line 工具...

用 pipsi 管 Python 的 command line 工具…

在「My Python Development Environment, 2018 Edition « Jacob Kaplan-Moss」這邊看到 Python 開發有哪些工具可以用 (介紹了三個),其中管理不同 Python 版本的 pyenv 用一陣子了,另外兩個則是之前沒用過… pipsi 是將套件用 virtualenv 包起來,讓使用者在用的時候不會受到其他環境的干擾。我是拿來跟系統的 python3 (目前在 Ubuntu 16.04 上是指到 3.5.1) 使用,所以安裝 pipsi 時先切到 system 再透過 python3 安裝 (讓他偵測到系統的 python3): $ pyenv shell system $ which python3 $ curl…

View On WordPress

Link
light606f
light606f

Pythonの仮想環境構築(2017年版) pyenvとpyenv-virtualenvとvirtualenvとvirtualenvwrapperとpyvenvとvenv - Qiita

Pythonの仮想環境構築(2017年版) pyenvとpyenv-virtualenvとvirtualenvとvirtualenvwrapperとpyvenvとvenv - Qiita
qiita.com
Link
st-hakky
st-hakky

pyenvとanacondaを共存させる時のactivate衝突問題の回避策3種類 - Qiita

pyenvとanacondaを共存させる時のactivate衝突問題の回避策3種類 - Qiita
qiita.com
Link
st-hakky
st-hakky

HomebrewのインストールからpyenvでPythonのAnaconda環境構築までメモ - Qiita

ですよね

Text
e0en
e0en

Homebrew + OpenCV3 + pyenv 함께 쓰기

Homebrew로 opencv3을 설치할 경우, pyenv가 시스템에 설치된 opencv3을 인식하지 못해 import 에러가 난다.

다음과 같은 과정을 거치면 됨. 요는 pyenv로 만든 virtualenv가 homebrew.pth를 사용할 수 있게 해 주는 것.

# 일단 깔아둔 거 다 지우자
brew uninstall python numpy opencv3
brew cleanup

# homebrew 업데이트
brew update; brew upgrade

# 패키지 설치
brew install python numpy opencv3

# 가상환경 my_env를 생성
pyenv virtualenv system my_env

# my_env의 파이썬이 시스템의 `homebrew.pth`를 참조해서 모듈을 로드하게 함
cp `find . -name "homebrew.pth"` ~/.pyenv/versions/my_env/lib/python2.7/site-packages

# 제대로 import되는지 테스트해 보자
pyenv activate my_env
python -c "import cv2; print(cv2.__version__)"

Text
00a3af-rabbit
00a3af-rabbit

apache2でpyenv使う

bottleを使おうとimport bottleすると
No module named bottle
と言われる。

あっれれ〜おっかしいぞぉ〜?
と、sys.pathを出してみると

[“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip”, “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7”, “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin”, “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac”, “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages”, “/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python”, “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk”, “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old”, “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload”, “/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC”, “/Library/Python/2.7/site-packages”]

どうやらpyenvの設定を読んでくれていない様子。
今日明日はこの解決法を探る様子つもり。

2016/02/02追記
できました(http://00a3af-rabbit.tumblr.com/post/138488992302/apache2%E6%94%B9%E3%82%81modwsgi3%E3%81%A7pyenv%E4%BD%BF%E3%81%86)
どうもconfigの書き忘れっぽいです