You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多Python版本下pip安装的可执行脚本调用与版本指定问题

多Python版本下确定与指定pip安装脚本(如pytest)的调用版本

当本地同时存在多个Python版本(比如Python3.10和Python3.11)且都通过pip安装了同一可执行脚本(如pytest)时,直接执行脚本命令的相关逻辑和指定方法如下:

一、直接执行pytest时如何确定调用的版本?

直接在命令行输入pytest时,系统会按照PATH环境变量中目录的先后顺序查找名为pytest的可执行文件,找到的第一个就是会被调用的版本。

要验证当前调用的是哪个版本,可以用以下方法:

  • 查看可执行文件的路径(Linux/macOS):
    which pytest
    
  • 查看可执行文件的路径(Windows命令提示符):
    where pytest
    
  • 直接查看版本号:
    pytest --version
    

二、如何指定调用特定版本的pytest?

有三种可靠的方法可以指定调用对应Python版本下的脚本:

1. 通过对应Python版本的-m参数调用

这是最稳妥的方式,直接让指定的Python解释器运行对应环境中的模块脚本,完全不受PATH顺序影响:

  • 调用Python3.11下的pytest:
    python3.11 -m pytest
    
  • 调用Python3.10下的pytest:
    python3.10 -m pytest
    

(注:Windows下可能需要用py -3.11 -m pytest或python311 -m pytest,取决于Python的安装命名)

2. 直接调用对应版本的脚本全路径

通过which/where命令找到不同版本pytest的具体路径后,直接输入全路径执行:
比如Linux下查到Python3.10的pytest路径是/usr/bin/pytest-3.10,Python3.11的是/usr/local/bin/pytest-3.11,则:

/usr/bin/pytest-3.10 --version

3. 使用虚拟环境隔离版本

为不同Python版本创建独立的虚拟环境,激活环境后执行的脚本就是该环境对应的版本:

  • 创建并激活Python3.10的虚拟环境(Linux/macOS):
    python3.10 -m venv venv310
    source venv310/bin/activate
    
  • 激活后安装pytest并调用:
    pip install pytest
    pytest --version
    
  • 退出虚拟环境:
    deactivate
    

(Windows下激活命令为venv310\Scripts\activate.bat)

内容的提问来源于stack exchange,提问作者oeter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:40:55