Multiple python version installs: Difference between revisions

Tag: wikieditor
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
同一電腦有兩種版本的 python
如何在同一電腦,安裝兩種版本的 python


== 安裝兩種版本的 Python ==
== 安裝兩種版本的 Python ==
=== Windows, Mac, Linux 安裝多種版本的 Python 法1 ===
=== Windows, Mac, Linux 安裝多種版本的 Python 法1 ===
docker
 
* 安裝 [https://www.docker.com/get-started Docker Desktop] on {{Win}}, {{Mac}} or {{Linux}} & 安裝 container image
*# 安裝 [https://hub.docker.com/_/python python] container image or
*# [https://hub.docker.com/r/conda/miniconda3/ conda/miniconda3] or
*# [https://hub.docker.com/r/condaforge/miniforge3/tags condaforge/miniforge3 Tags | Docker Hub]
 
* [https://www.anaconda.com/products/individual Anaconda] on {{Win}}, {{Mac}} or {{Linux}}: [https://medium.com/python4u/%E7%94%A8conda%E5%BB%BA%E7%AB%8B%E5%8F%8A%E7%AE%A1%E7%90%86python%E8%99%9B%E6%93%AC%E7%92%B0%E5%A2%83-b61fd2a76566 用conda建立及管理python虛擬環境 - Python4U - Medium]
 
* 安裝 [https://www.virtualbox.org/wiki/Downloads Downloads – Oracle VM VirtualBox] on {{Win}}, {{Mac}} or {{Linux}} & 安裝 [https://www.linuxvmimages.com/ Linux VM Images - Download VirtualBox and VMware Images] {{exclaim}} Not support Apple Silicon on {{Mac}}<ref>[https://forums.virtualbox.org/viewtopic.php?t=98742 virtualbox.org • View topic - ARM Macs: Will Virtualbox be ported ?]</ref>
 
* 安裝 [[Podman]]


=== Windows 安裝兩種版本的 Python 法2 ===
=== Windows 安裝兩種版本的 Python 法2 ===
Windows 電腦已經安裝 Python2, 想要安裝 Python3
Windows 電腦已經安裝 Python2, 想要安裝 Python3
* 直接從 [https://www.python.org/downloads/ Python 網站] 下載安裝 Python3 即可
* 直接從 [https://www.python.org/downloads/ Python 網站] 下載安裝 Python3 即可
* [https://www.microsoft.com/zh-tw/p/ubuntu/9nblggh4msv6?SilentAuth=1&wa=wsignin1.0#activetab=pivot:overviewtab 購買 Ubuntu on Windows - Microsoft Store zh-TW],已經內建 Python3,需額外安裝 pip3
* 安裝完 Windows 版本 Python3,已經內建 pip,無需額外安裝 pip
* 安裝完 Windows 版本 Python3,已經內建 pip,無需額外安裝 pip


: [[Image:Owl icon.jpg]] Python2 或 Python3 的安裝前後順序會造成的影響是 {{kbd | key=<nowiki>python -V </nowiki>}} 顯示的是先安裝的版本,可依照下文說明指定要執行的版本。
{{Tips}} Python2 或 Python3 的安裝前後順序會造成的影響是 {{kbd | key=<nowiki>python -V </nowiki>}} 顯示的是先安裝的版本,可依照下文說明指定要執行的版本。


=== Mac 安裝兩種版本的 Python 法2 ===
=== Mac 安裝兩種版本的 Python 法2 ===
Line 18: Line 29:


=== Linux 安裝兩種版本的 Python 法2 ===
=== Linux 安裝兩種版本的 Python 法2 ===
已經安裝 Python2, 需要額外安裝 Python3
通常 Linux 已經內建安裝 Python2, 需要額外安裝 Python3
* [https://oranwind.org/python-python-an-zhuang-yu-ji-chu-jiao-xue/ CentOS 7 安裝 Python 3.6]
* [https://oranwind.org/python-python-an-zhuang-yu-ji-chu-jiao-xue/ CentOS 7 安裝 Python 3.6]
* [https://www.centos.bz/2018/03/centos-7%E5%AE%89%E8%A3%85pip3/ CentOS 7 安装 pip3 - Linux运维日志]
* [https://www.centos.bz/2018/03/centos-7%E5%AE%89%E8%A3%85pip3/ CentOS 7 安装 pip3 - Linux运维日志]


== 確認安裝的 python 版本 ==
== 確認安裝的 python 版本 ==
: [[Image:Owl icon.jpg]] 文章中行首的 $ 符號代表 Windows 作業系統輸入指令時,要先開啟「命令提示字元」輸入 {{kbd | key=cmd}} <ref>[https://www.590103.idv.tw/blog/%E5%9C%A8windows-10%E4%B8%AD%E6%89%93%E9%96%8B%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E5%AD%97%E5%85%83%E7%9A%8410%E7%A8%AE%E6%96%B9%E5%BC%8F 在Windows 10中打開命令提示字元的10種方式 - 笨笨包的天空]</ref>、Mac 或 Linux 輸入指令時,要先開啟「終端機」、terminal 或 console。
{{Tips}} 文章中行首的 $ 符號代表 Windows 作業系統輸入指令時,要先開啟「命令提示字元」輸入 {{kbd | key=cmd}} <ref>[https://www.590103.idv.tw/blog/%E5%9C%A8windows-10%E4%B8%AD%E6%89%93%E9%96%8B%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E5%AD%97%E5%85%83%E7%9A%8410%E7%A8%AE%E6%96%B9%E5%BC%8F 在Windows 10中打開命令提示字元的10種方式 - 笨笨包的天空]</ref>、Mac 或 Linux 輸入指令時,要先開啟「終端機」、terminal 或 console。




Line 52: Line 63:
</pre>
</pre>


: [[Image:Owl icon.jpg]] 如果不小心打到小寫 {{kbd | key=<nowiki>v</nowiki>}} 也就是 {{kbd | key=<nowiki>python -v</nowiki>}},會看到一長串指令,最後游標停在 {{kbd | key=<nowiki>>>></nowiki>}} 符號前面。有兩種方式就可以離開 {{kbd | key=<nowiki>>>></nowiki>}} 世界 (python 互動模式<ref>[https://stackoverflow.com/questions/16420078/what-do-the-three-arrow-signs-mean-in-python What do the three arrow (">>>") signs mean in python? - Stack Overflow]</ref>): (1) 輸入 {{kbd | key=<nowiki>exit()</nowiki>}} 或按組合鍵 {{kbd | key=<nowiki>ctrl+d</nowiki>}} (2) 再按 {{kbd | key=<nowiki>Enter</nowiki>}} 或 {{kbd | key=<nowiki>return</nowiki>}} 按鍵
{{Tips}} 如果不小心打到小寫 {{kbd | key=<nowiki>v</nowiki>}} 也就是 {{kbd | key=<nowiki>python -v</nowiki>}},會看到一長串指令,最後游標停在 {{kbd | key=<nowiki>>>></nowiki>}} 符號前面。有兩種方式就可以離開 {{kbd | key=<nowiki>>>></nowiki>}} 世界 (python 互動模式<ref>[https://stackoverflow.com/questions/16420078/what-do-the-three-arrow-signs-mean-in-python What do the three arrow (">>>") signs mean in python? - Stack Overflow]</ref>): (1) 輸入 {{kbd | key=<nowiki>exit()</nowiki>}} 或按組合鍵 {{kbd | key=<nowiki>ctrl+d</nowiki>}} (2) 再按 {{kbd | key=<nowiki>Enter</nowiki>}} 或 {{kbd | key=<nowiki>return</nowiki>}} 按鍵


== 確認 pip (package_manager) 版本 ==
== 確認 pip (package_manager) 版本 ==
Line 191: Line 202:
</pre>
</pre>


: [[Image:Owl icon.jpg]] 如果遇到「'xxx' 不是內部或外部命令、可執行的程式或批次檔。」 代表安裝時沒有設定 PATH 變數,詳 [[How to setup my system path]]
{{Tips}} 如果遇到「'xxx' 不是內部或外部命令、可執行的程式或批次檔。」 代表安裝時沒有設定 PATH 變數,詳 [[How to setup my system path]]


=== Mac & Linux ===
=== Mac & Linux ===
Line 216: Line 227:
== Python version on docker images ==
== Python version on docker images ==
=== comparison of docker images ===
=== comparison of docker images ===
<div class="table-responsive" style="width:100%;    min-height: .01%;    overflow-x: auto;">
* [https://hub.docker.com/r/continuumio/anaconda3 continuumio/anaconda3]: Python 3.12.7 {{access | date=2025-01-22}}
<table border="1" class="wikitable">
* continuumio/anaconda3:2022.10: Python 3.9.13
  <tr>
* continuumio/anaconda3:2022.05: Python 3.9.12
    <th>Docker image:tab</th>
* continuumio/anaconda3:2020.02: Python 3.7.6
    <th>Estimated time of python v. 3.x installation <br />(minute)</th>
* continuumio/anaconda3:2019.10: Python 3.7.4
  </tr>
* [https://hub.docker.com/r/condaforge/miniforge3 condaforge/miniforge3:latest]: Python 3.9.10 {{access | date=2022-08-22}}
  <tr>
* condaforge/miniforge3:4.9.2-5: Python 3.8.6
    <td>[https://hub.docker.com/_/python/ python:3.6]</td>
    <td>less than 1</td>
  </tr>
  <tr>
    <td>[https://hub.docker.com/_/centos/ centos:centos7]</td>
    <td>4</td>
  </tr>
  <tr>
    <td>[https://hub.docker.com/_/ubuntu/ ubuntu:18.04]</td>
    <td>1</td>
  </tr>
</table>
</div>


=== docker image: python ===
=== docker image: python ===
Line 273: Line 271:
     - python3 -V
     - python3 -V
     - pip3 -V
     - pip3 -V
    - pip3 install -r requirements.txt
</pre>
=== docker image: centos ===
[https://hub.docker.com/_/centos/ library/centos - Docker Hub] {{access | date=2018-09-06}}
* default python version: python v. 2.7.5
<pre>
# install python3 on centos:centos7 image
image: centos:centos7
before_script:
    - yum install -y gcc zlib-devel wget
    - yum install -y openssl-devel
    - rpm -aq|grep openssl
    - yum groupinstall -y 'Development Tools'
    - python -V
    # https://www.python.org/downloads/
    - wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
    - tar xzf Python-3.6.6.tgz 
    - cd Python-3.6.6 
    - ./configure
    - make
    - make install
    - python3 -V
    - cd ../
    # https://github.com/pypa/pip/releases
    - curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
    - python3 get-pip.py
    - pip3 -V
    - pwd
     - pip3 install -r requirements.txt
     - pip3 install -r requirements.txt


Line 311: Line 276:


== References ==
== References ==
References


<references />
<references />


Related articles
== Related articles ==
* [https://github.com/pypa/pipenv pypa/pipenv: Python Development Workflow for Humans.]
* [https://github.com/pypa/pipenv pypa/pipenv: Python Development Workflow for Humans.]
* [https://hub.docker.com/_/python/ library/python - Docker Hub]
* [https://hub.docker.com/_/python/ library/python - Docker Hub]
* [https://www.anaconda.com/download/#macos Anaconda]: [https://docs.anaconda.com/anaconda/navigator/tutorials/use-multiple-python-versions/ Using multiple versions of Python with Navigator — Anaconda 2.0 documentation]
* [https://www.anaconda.com/download/#macos Anaconda]: [https://docs.anaconda.com/anaconda/navigator/tutorials/use-multiple-python-versions/ Using multiple versions of Python with Navigator — Anaconda 2.0 documentation]


[[Category:Python]] [[Category:Programming]] [[Category:Docker]]
[[Category: Python]]  
[[Category: Programming]]  
[[Category: Docker]]
[[Category: Linux]]