原因:

在Linux系统中,当你尝试以root用户身份运行pip命令,可能会导致权限问题,以及可能与系统的包管理器(如apt、yum等)发生冲突。为了避免这些问题,建议使用虚拟环境(virtual environment)来管理Python包。所以有这个警告

为什么要使用虚拟环境?

  1. 隔离依赖:每个项目可以有自己的依赖包和版本,避免不同项目之间的依赖冲突。
  2. 权限管理:不需要使用root权限来安装包,提高了系统的安全性。
  3. 易于管理:可以轻松地创建、删除和复制虚拟环境。

使用虚拟环境前:

首先需要centos系统中安装好python,若还没有的话可参考

CentOS8环境中 下载安装python(附下载地址)_centos8安装python-CSDN博客

如何创建和使用虚拟环境?

1、安装Python的venv模块(通常Python 3.3及以上版本自带):

检查python版本(python3是安装python时创建的软链接的名称可能不一样)

python3 --version

 安装:对于Debian/Ubuntu系统

sudo apt-get install python3-venv

安装:# 对于CentOS/RHEL系统

sudo yum install python3-venv
2.创建虚拟环境

 创建一个名叫myenv的虚拟环境,会自动生成一个文件夹,因此在创建时,先切换到自己的第三方包安装目录下。

如我的pip的目录在这里

 那我就可以将虚拟环境文件的目录放在/usr/local/bin/python3/lib/下

cd /usr/local/bin/python3/lib/

 进入该目录后,然后运行以下代码创建虚拟环境

python3 -m venv myenv
3.激活虚拟环境

    然后激活虚拟环境

    在Linux或macOS上:

    source myenv/bin/activate

     激活后,你会看到命令行提示符前出现了虚拟环境的名称,表明你现在处于该虚拟环境中。

    4.在虚拟环境中安装包

    然后就可以在虚拟环境中安装第三方包了,可以用一个虚拟环境单独针对一个项目,会更清晰

    再次更新pip命令:

    pip install --upgrade pip

    安装第三方包命令:

    pip install 包名

    如果需要安装特定版本的包,可以在包名后加上版本号,如

    pip install requests==2.26.0

    5.安装成功后验证:

    在虚拟环境中输入python

    然后再导入刚刚安装的第三方包,没有报错即为安装成功

    6.退出虚拟环境:

    deactivate

    完成工作后,可以通过运行deactivate命令来退出虚拟环境。这将使你回到系统默认的Python环境中。 需要注意的是,由于虚拟环境是隔离的,所以在虚拟环境中安装的包不会影响到系统默认的Python环境或其他虚拟环境。这有助于保持项目之间的依赖独立,使得代码更易于管理和部署。

      当运行python文件时,如何指定使用哪个虚拟环境?

      方法一:

      手动激活虚拟环境然后运行Python文件

      # 激活对应的python虚拟环境
      source /path/to/your/virtualenv/bin/activate
      # 使用python命令,运行你的Python文件的路径
      python /usr/local/Python-3.12.1/project/test_01/run.py
      # 完成工作后,记得退出虚拟环境
      deactivate

      这是最直接的方法,但稍微有些繁琐。你需要先打开一个新的shell会话,激活虚拟环境,然后运行Python文件。

      方法二:

      使用虚拟环境中的Python解释器路径直接运行:

      直接指定虚拟环境中Python解释器的完整路径来运行Python文件。这样就不需要先激活虚拟环境

      # 虚拟环境的路径/bin/python3 /项目的运行文件路径 
      /usr/local/bin/python3/lib/myenv/bin/python3 /usr/local/Python-3.12.1/porject/test_01/run.py 

      这种方法的好处是你不需要先激活虚拟环境,但它要求你知道虚拟环境中Python解释器的确切路径。

      方法三:

      在脚本中指定解释器:

      如果你的Python脚本文件有shebang行(通常是文件的第一行,如#!/usr/bin/env python3),你可以将其更改为指向虚拟环境中的Python解释器。例如:

      #!/path/to/your/virtualenv/bin/python
      # 下面是你的Python代码...

      然后,你可以像运行任何其他shell脚本一样运行这个Python文件:

      ./your_script.py
      

      不过,请注意,这种方法要求脚本具有执行权限(可以通过chmod +x your_script.py来设置)。

        通常,对于一次性命令或脚本,使用第二种方法(直接指定虚拟环境中的Python解释器路径)是最方便的。如果你经常需要在特定的虚拟环境中运行脚本,考虑在脚本中使用shebang行或设置执行权限可能更合适。

          Logo

          魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

          更多推荐