当前位置 : 首页 » 文章分类 :  开发  »  Python-安装与环境配置

Python-安装与环境配置

Python 学习笔记


VirtualEnv

virtualenv 为应用提供了隔离的 Python 运行环境,解决了不同应用间多版本的冲突问题。


PyCharm

http://www.jetbrains.com/pycharm/

.ignore 插件安装及配置

设置 -> Plugins 搜索 .ignore 插件安装。安装后重启 PyCharm
项目上点右键 -> New -> .ignore file -> .gitignore file(Git)
然后配置 .gitignore 文件需要忽略的语言项,选择 Python, JetBrains, VirtualEnv

ImportError: No module named pip

pycharm 中安装依赖包提示 ImportError: No module named pip

这个错误通常发生在尝试使用Python的pip时,PyCharm IDE 无法找到pip模块。这可能是因为pip未正确安装或不在Python的搜索路径中。
解决此问题的方法是确保pip已正确安装,并且可以在PyCharm中访问。
1、检查pip是否已正确安装:在命令行中输入pip --version。如果没有安装pip,请根据需要使用适合您操作系统的pip安装指南进行安装。
2、在PyCharm中配置Python解释器:在设置(Settings)> 项目(Project)> Python解释器(Python Interpreter)中,确保已正确选择Python解释器,并且pip已添加到解释器的“项目解释器”中。

如果本地没有安装 pip,可以直接在 pycharm Settings -> Project -> Python Interpreter -> Add 中选择 Virtualenv Environment,为此项目单独配置一个虚拟环境。


Anaconda

Anaconda 是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等

conda 是包及其依赖项和环境的管理工具,适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN
快速安装、运行和升级包及其依赖项
在计算机中便捷地创建、保存、加载和切换环境

conda 包和环境管理器包含于 Anaconda 的所有版本当中

Mac 安装 anaconda

brew install anaconda
M1 Mac 安装目录:/opt/homebrew/anaconda3
安装后如果 conda 命令无法使用,编辑 ~/.zshrc 添加 export PATH=$PATH:/opt/homebrew/anaconda3/bin

conda list 查看安装了哪些包

conda env list 查看已创建的环境

或 conda info -e

conda create -n xx python=3.9 创建虚拟环境

创建 python 虚拟环境
conda create -n yourEnv python=x.x
python版本为x.x,名字为 yourEnv 的虚拟环境。创建完,可以装 anaconda 的目录下找到 envs/yourEnv 目录

例如:

conda create -n py39 python=3.9
## Package Plan ##

  environment location: /opt/homebrew/anaconda3/envs/py39

  added / updated specs:
    - python=3.9


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    openssl-3.0.11             |       h1a28f6b_2         4.2 MB
    pip-23.3                   |   py39hca03da5_0         2.6 MB
    python-3.9.18              |       hb885b13_0        11.6 MB
    setuptools-68.0.0          |   py39hca03da5_0         946 KB
    wheel-0.41.2               |   py39hca03da5_0         107 KB
    ------------------------------------------------------------
                                           Total:        19.5 MB

The following NEW packages will be INSTALLED:

  ca-certificates    pkgs/main/osx-arm64::ca-certificates-2023.08.22-hca03da5_0
  libcxx             pkgs/main/osx-arm64::libcxx-14.0.6-h848a8c0_0
  libffi             pkgs/main/osx-arm64::libffi-3.4.4-hca03da5_0
  ncurses            pkgs/main/osx-arm64::ncurses-6.4-h313beb8_0
  openssl            pkgs/main/osx-arm64::openssl-3.0.11-h1a28f6b_2
  pip                pkgs/main/osx-arm64::pip-23.3-py39hca03da5_0
  python             pkgs/main/osx-arm64::python-3.9.18-hb885b13_0
  readline           pkgs/main/osx-arm64::readline-8.2-h1a28f6b_0
  setuptools         pkgs/main/osx-arm64::setuptools-68.0.0-py39hca03da5_0
  sqlite             pkgs/main/osx-arm64::sqlite-3.41.2-h80987f9_0
  tk                 pkgs/main/osx-arm64::tk-8.6.12-hb8d0fd4_0
  tzdata             pkgs/main/noarch::tzdata-2023c-h04d1e81_0
  wheel              pkgs/main/osx-arm64::wheel-0.41.2-py39hca03da5_0
  xz                 pkgs/main/osx-arm64::xz-5.4.2-h80987f9_0
  zlib               pkgs/main/osx-arm64::zlib-1.2.13-h5a0b063_0

激活虚拟环境

1、linux/mac
source activate yourEnv

source activate py39
(py39)
conda env list
# conda environments:
#
base                     /opt/homebrew/anaconda3
py39                  *  /opt/homebrew/anaconda3/envs/py39

带星号 * 的是当前激活的虚拟环境

2、windows
activate yourEnv

关闭虚拟环境

Linux/Mac 下
conda deactivatesource deactivate py39

删除虚拟环境

conda remove -n your_env_name --all


pip

-e, --editable 以开发者模式(或者说是可编辑模式)安装包。这种模式下,包的源代码会被链接到Python的site-packages目录下,而不是像普通安装那样被复制过去。这样就可以在不重新安装的情况下测试和调试包中的代码了。只要修改源代码,改动就会立即生效。

pip install -e . 以开发者模式在当前目录下安装 Python 包。

requirements.txt

Python 项目中的 requirements.txt 用于记录所有依赖包及其精确的版本号,以便新环境部署。

1、在虚拟环境中使用 pip 生成:
pip freeze > requirements.txt

2、在新的虚拟环境中安装依赖:
pip install -r requirements.txt
指定国内镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt


Mac 安装 Python

Mac 自带 Python 版本

不同 Mac 系统版本自带的 python 版本不同:

  • 早期的 Mac 系统版本自带 Python2
  • 后来有的 Mac 自带了 python2.7 和 python3.x,以及 pip3,但没有 pip2
  • macOS Monterey 升级到 12.3 后不再默认安装 python2,自带 Python3

输入 python,默认使用的 python2.7

$ pythoP

WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.

Python 2.7.18 (default, Nov 13 2021, 06:17:34)

输入 python3,使用 python3.8

python3
Python 3.8.9 (default, Jul 19 2021, 09:37:30)
[Clang 13.0.0 (clang-1300.0.27.3)] on darwin

Mac brew 安装 Python3.9

brew install python3 brew 安装 Python3,默认安装的是 Python3.9

==> Summary
🍺 /opt/homebrew/Cellar/python@3.9/3.9.9: 3,082 files, 56.8MB

Python has been installed as
/opt/homebrew/bin/python3

Unversioned symlinks python, python-config, pip etc. pointing to
python3, python3-config, pip3 etc., respectively, have been installed into
/opt/homebrew/opt/python@3.9/libexec/bin

You can install Python packages with
pip3 install
They will install into the site-package directory
/opt/homebrew/lib/python3.9/site-packages

之后输入 python3.9 可进入 python3.9

python3.9
Python 3.9.9 (main, Nov 21 2021, 03:16:13)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

Mac 安装 pip(pip2)

Mac 自带 Python2.7 但没有 pip2,有好多老项目中需要用到 pip2,没有的话经常会报错。

cd /Library/Python/2.7
sudo curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
python2 get-pip.py

安装后提示

# python get-pip.py
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support pip 21.0 will remove support for this functionality.
Defaulting to user installation because normal site-packages is not writeable
Collecting pip<21.0
  Using cached pip-20.3.4-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.3.4
    Uninstalling pip-20.3.4:
      Successfully uninstalled pip-20.3.4
  WARNING: The scripts pip, pip2 and pip2.7 are installed in '/Users/masi/Library/Python/2.7/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-20.3.4

加入环境变量:

vim ~/.zshrc
export PATH=${PATH}:/Users/masi/Library/Python/2.7/bin
source ~/.zshrc
pip -V
pip 20.3.4 from /Users/masi/Library/Python/2.7/lib/python/site-packages/pip (python 2.7)

SIP保护导致包安装报错

PyCharm 安装依赖报错:
ERROR: Could not install packages due to an EnvironmentError: [Errno 1] Operation not permitted: ‘/private/tmp/pip-uninstall-x7akWf/easy_install.py’

原因:
Mac 系统从 OS X El Capitan 开始引入了 SIP(System Integrity Protection) 机制,默认启用 SIP 系统完整性保护机制,限制对系统目录的写操作。
SIP 将一些文件目录和系统应用保护了起来。但这会影响我们一些使用或设置,比如:更改系统应用图标、终端操作系统目录文件提示「Operation not permitted」、Finder 无法编辑系统目录里的文件。
命令行输入 csrutil status 可看到 SIP 是否启用,

csrutil status
System Integrity Protection status: enabled.

解决:
关闭 SIP
重启 Mac 进入恢复模式,M1 Mac 是按住开机键不动,Intel Mac 是启动后按住 Command+R,在恢复模式终端中输入 csrutil disable 禁用 SIP,然后重启即可


Mac 使用 pyenv 管理 Python 版本

Mac brew 安装 pyenv

brew install pyenv 即可安装 pyenv

M1 Mac 安装路径: /opt/homebrew/Cellar/pyenv/2.3.36

执行 pyenv 看到如下输出说明安装成功:

pyenv
pyenv 2.3.36
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   --version   Display the version of pyenv
   commands    List all available pyenv commands
   exec        Run an executable with the selected Python version
   global      Set or show the global Python version(s)
   help        Display help for a command
   hooks       List hook scripts for a given pyenv command
   init        Configure the shell environment for pyenv
   install     Install a Python version using python-build
   latest      Print the latest installed or known version with the given prefix
   local       Set or show the local application-specific Python version(s)
   prefix      Display prefixes for Python versions
   rehash      Rehash pyenv shims (run this after installing executables)
   root        Display the root directory where versions and shims are kept
   shell       Set or show the shell-specific Python version
   shims       List existing pyenv shims
   uninstall   Uninstall Python versions
   version     Show the current Python version(s) and its origin
   version-file   Detect the file that sets the current pyenv version
   version-name   Show the current Python version
   version-origin   Explain how the current Python version is set
   versions    List all Python versions available to pyenv
   whence      List all Python versions that contain the given executable
   which       Display the full path to an executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme

编辑 ~/.zshrc

if command -v pyenv 1>/dev/null 2>&1; then
 eval "$(pyenv init -)"
fi

使用 pyenv 管理 Python 版本

pyenv install -l 查看可安装软件包

pyenv install -l 显示可以安装的软件版本列表,除了 Python 外还有其他相关软件

pyenv install -v 3.9.18 安装指定版本Python

pyenv install 版本号 安装指定版本的 python,必须是 pyenv install -l 列出的 Python 版本号

安装 Python 3.9.18

pyenv install -v 3.9.18
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
/var/folders/5m/qhyq7_1d1f92r9jym_g921t00000gp/T/python-build.20240220145049.98302 ~
Downloading Python-3.9.18.tar.xz...
-> https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tar.xz

由于网络问题,Python 安装包下载很慢,想快速安装可以先手动下载 https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tar.xz
然后进入 ~/.pyenv 目录,创建 cache 子目录,将 Python-3.9.18.tar.xz 拷贝到 cache 目录内

ls cache
Python-3.9.18.tar.xz

再执行 pyenv install -v 3.9.18 便可快速安装。

pyenv versions 查看已安装的Python环境

pyenv versions 罗列当前已安装的所有 python 环境,如果是当前正在使用的环境,则前面会有个 *
刚安装 pyenv 后,只有 system

pyenv versions
* system (set by /Users/masi/.pyenv/version)

pyenv global 设置全局Python版本号

pyenv global 版本号 更改全局 Python 版本,重启不会造成再次更改
pyenv local 版本号 会在当前目录创建 .python-version 文件,并记录设置的 python 环境,每次进入该目录会自动设置成该 python 环境
pyenv shell 版本号 更改当前 shell 下使用的 python 版本,临时生效,优先级高于 global

$ pyenv versions
* system (set by /Users/masi/.pyenv/version)
  3.9.18
$ pyenv global 3.9.18

上一篇 Python-常用模块

下一篇 RIME 鼠须管输入法

阅读
评论
2.6k
阅读预计12分钟
创建日期 2024-12-17
修改日期 2024-12-18
类别
标签

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论