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

Python CGI脚本激活venv虚拟环境时遭遇ModuleNotFoundError

问题:CGI脚本中激活venv后无法导入transformers模块

我刚开始使用huggingface transformers库,通过PyTorch和venv进行试验。在Shell中激活venv虚拟环境一切正常,但在Python CGI脚本中按如下方式激活时却出现问题:

# Importing libraries for virtual environment
import subprocess

# Defining function for activating/deactivating virtual environment
def activate_virtual_environment():

    # Build the path to the activation script
    activation_script = f"/xampp/htdocs/cgi_bin/env/Scripts/activate"

    # Activate the virtual environment using subprocess
    subprocess.run([activation_script], shell=True)

def deactivate_virtual_environment():
    # Deactivate the virtual environment using subprocess
    subprocess.run(["deactivate"], shell=True)

# Activating virtual environment
activate_virtual_environment()

# Importing 'pipeline' 
from transformers import pipeline

执行脚本时会报错ModuleNotFoundError: No module named 'transformers',虚拟环境路径确认正确,请问忽略了什么?


解决方案

核心原因

用subprocess.run()运行activate脚本,只会在子进程中激活虚拟环境,当前CGI脚本的主进程完全不受影响——主进程的Python环境还是系统默认的,自然找不到安装在venv里的transformers模块。同理,单独调用deactivate命令也无效,子进程执行完就结束,不会改变主进程的环境。

两种解决办法

  1. 直接指定虚拟环境的Python解释器运行脚本

    • 找到venv中的Python路径:Windows下是/xampp/htdocs/cgi_bin/env/Scripts/python.exe,Linux/macOS下是/xampp/htdocs/cgi_bin/env/bin/python
    • 在CGI脚本的第一行添加shebang,指定用这个解释器:
      #!/xampp/htdocs/cgi_bin/env/Scripts/python.exe
      
    • Linux/macOS环境下还需要给脚本添加可执行权限:chmod +x your_script.py
  2. 手动将venv的site-packages路径加入sys.path
    在导入transformers前,把虚拟环境的site-packages目录添加到Python的模块搜索路径中:

    import sys
    # Windows系统路径示例
    sys.path.append("/xampp/htdocs/cgi_bin/env/Lib/site-packages")
    # Linux/macOS系统路径示例(需替换X.X为你的Python版本号,比如3.10)
    # sys.path.append("/xampp/htdocs/cgi_bin/env/lib/pythonX.X/site-packages")
    
    from transformers import pipeline
    

    注意:需要确认site-packages的具体路径,不同系统和Python版本会有细微差异。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 00:33:16