自学内容网 自学内容网

【从零开始】4. 搭建 Python 开发环境

书接上回…本章节将讲讲如何搭建 Python 开发环境。有些小伙伴可能会说这 Python 环境搭建有什么好讲的,一笔带过就可以了。

是的,这的确是个入门级的问题。不过本系列既然是“从零开始”那么该记录的还是要记录一下的。

1. Anaconda 安装

先引用百度百科的说法‌‌:Anaconda 是一个用于科学计算的‌ Python 发行版本 ,其包含了 conda 、Python 等 180 多个科学包及其依赖项。

我的理解 Anaconda 就是一个集成工具,它跟 Java 的 Maven,Node 的 npm 的用途是一样。通过 Anaconda 我们能够轻松地将依赖包集成到本地。同时,使用 Anaconda 的 conda create 指令能够直接创建 Python 虚拟环境,再也无需使用

python -m venv xxx

# 又或者

pip install virtualenv
virtualenv xxx

来创建虚拟环境了。

安装 Anaconda 最直接的方法是通过官网下载安装脚本,如下图:

可别小看这个脚本 ˶╹ꇴ╹˶!1.1 GB,如下图:

在执行脚本前还需要修改权限,如下图:

sudo chmod 777 Anaconda3-2024.06-1-Linux-x86_64.sh
./Anaconda3-2024.06-1-Linux-x86_64.sh

由于 conda 系统配置是安装在 .bashrc 文件中,如下图:

...
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/yzh/Anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/yzh/Anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/yzh/Anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/yzh/Anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

因此需要重启机器或者重新登录后才能够生效(本人是选择重启的,毕竟新装的 Linux Mint 还有其他更新需要重启生效呢)。重启后打开终端就会看到有一个“(base)”字样出现在每一行的开头,这代表 Anaconda 的根环境(base)已安装成功。

2. 安装 Python 并创建虚拟环境

如上文所说,创建 Python 虚拟环境只需要使用 conda create 指令即可。譬如,现在需要创建一个名为“data”的虚拟环境并使用 Python 3.11 版本,那么应该这样写:

(base) yzh@yzh-mint:~$ conda create -n data python=3.11
Retrieving notices: ...working... done
Channels:
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: /home/yzh/Anaconda3/envs/data

  added / updated specs:
    - python=3.11


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _libgcc_mutex-0.1          |             main           3 KB  defaults
    _openmp_mutex-5.1          |            1_gnu          21 KB  defaults
    bzip2-1.0.8                |       h5eee18b_6         262 KB  defaults
    ca-certificates-2024.9.24  |       h06a4308_0         130 KB  defaults
    ld_impl_linux-64-2.40      |       h12ee557_0         710 KB  defaults
    libffi-3.4.4               |       h6a678d5_1         141 KB  defaults
    libgcc-ng-11.2.0           |       h1234567_1         5.3 MB  defaults
    libgomp-11.2.0             |       h1234567_1         474 KB  defaults
    libstdcxx-ng-11.2.0        |       h1234567_1         4.7 MB  defaults
    libuuid-1.41.5             |       h5eee18b_0          27 KB  defaults
    ncurses-6.4                |       h6a678d5_0         914 KB  defaults
    openssl-3.0.15             |       h5eee18b_0         5.2 MB  defaults
    pip-24.2                   |  py311h06a4308_0         2.8 MB  defaults
    python-3.11.10             |       he870216_0        32.9 MB  defaults
    readline-8.2               |       h5eee18b_0         357 KB  defaults
    setuptools-75.1.0          |  py311h06a4308_0         2.2 MB  defaults
    sqlite-3.45.3              |       h5eee18b_0         1.2 MB  defaults
    tk-8.6.14                  |       h39e8969_0         3.4 MB  defaults
    tzdata-2024b               |       h04d1e81_0         115 KB  defaults
    wheel-0.44.0               |  py311h06a4308_0         145 KB  defaults
    xz-5.4.6                   |       h5eee18b_1         643 KB  defaults
    zlib-1.2.13                |       h5eee18b_1         111 KB  defaults
    ------------------------------------------------------------
                                           Total:        61.7 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      anaconda/pkgs/main/linux-64::_libgcc_mutex-0.1-main 
  _openmp_mutex      anaconda/pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu 
  bzip2              anaconda/pkgs/main/linux-64::bzip2-1.0.8-h5eee18b_6 
  ca-certificates    anaconda/pkgs/main/linux-64::ca-certificates-2024.9.24-h06a4308_0 
  ld_impl_linux-64   anaconda/pkgs/main/linux-64::ld_impl_linux-64-2.40-h12ee557_0 
  libffi             anaconda/pkgs/main/linux-64::libffi-3.4.4-h6a678d5_1 
  libgcc-ng          anaconda/pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 
  libgomp            anaconda/pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 
  libstdcxx-ng       anaconda/pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 
  libuuid            anaconda/pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0 
  ncurses            anaconda/pkgs/main/linux-64::ncurses-6.4-h6a678d5_0 
  openssl            anaconda/pkgs/main/linux-64::openssl-3.0.15-h5eee18b_0 
  pip                anaconda/pkgs/main/linux-64::pip-24.2-py311h06a4308_0 
  python             anaconda/pkgs/main/linux-64::python-3.11.10-he870216_0 
  readline           anaconda/pkgs/main/linux-64::readline-8.2-h5eee18b_0 
  setuptools         anaconda/pkgs/main/linux-64::setuptools-75.1.0-py311h06a4308_0 
  sqlite             anaconda/pkgs/main/linux-64::sqlite-3.45.3-h5eee18b_0 
  tk                 anaconda/pkgs/main/linux-64::tk-8.6.14-h39e8969_0 
  tzdata             anaconda/pkgs/main/noarch::tzdata-2024b-h04d1e81_0 
  wheel              anaconda/pkgs/main/linux-64::wheel-0.44.0-py311h06a4308_0 
  xz                 anaconda/pkgs/main/linux-64::xz-5.4.6-h5eee18b_1 
  zlib               anaconda/pkgs/main/linux-64::zlib-1.2.13-h5eee18b_1 


Proceed ([y]/n)? y


Downloading and Extracting Packages:
                                                                                
Preparing transaction: done                                                     
Verifying transaction: done                                                     
Executing transaction: done                                                     
#                                                                               
# To activate this environment, use                                             
#                                                                               
#     $ conda activate data                                                     
#                                                                               
# To deactivate an active environment, use                                      
#                                                                               
#     $ conda deactivate

好了,“data”虚拟环境就创建出来了,接下来我们需要切换到这个环境中,只需要使用 conda activate data 指令即可,如下图:

(base) yzh@yzh-mint:~$ conda activate data
(data) yzh@yzh-mint:~$

这里我建议各位先用 which 指令查一下 python 和 pip 指令的所处位置,如下图:

(data) yzh@yzh-mint:~$ which python                                             
/home/yzh/Anaconda3/envs/data/bin/python                                        
(data) yzh@yzh-mint:~$ which pip                                                
/home/yzh/Anaconda3/envs/data/bin/pip

若查询结果如上图所示。那么恭喜你,之后你可以直接使用 pip install 来安装依赖。但若 python 和 pip 不在同一环境下,如下图:

(exact) pvm@pvm:~$ which python
/home/pvm/anaconda3/envs/exact/bin/python
(exact) pvm@pvm:~$ which pip
/home/pvm/.local/bin/pip

这是因为系统安装了 python,pip 对应的是系统层级环境。这时使用 pip install 就会安装到系统环境里。因此遇到这种情况最简单的方法就是使用 python -m pip install 来进行安装了,谨记。

3. vscode 选择 conda 环境

打开 vscode 先安装 Python 插件,如下图:

印象中好像安装了 Python 插件后 vscode 会推送与其相关的一系列插件,这时不要犹豫按要求安装即可。插件安装完成后会在右下角看到 Python 的标志,如下图:

点击后中上方区域会弹出本机所有 Python 环境列表,选取 data 环境即可完成切换。

至此,Python 开发环境搭建完毕。

(未完待续…)


原文地址:https://blog.csdn.net/kida_yuan/article/details/143515127

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!