美文网首页
autogpt安装过程中的各种奇葩问题记录

autogpt安装过程中的各种奇葩问题记录

作者: nobody1986 | 来源:发表于2023-11-01 19:42 被阅读0次

    最近因为工作原因,试用对比了下各种GPT相关的产品。AutoGPT就是其中之一。
    结果本地部署AutoGPT的时候,发生了各种莫名其妙的错误,这是最近几年来按照官方文档部署,还能出一系列各种各样匪夷所思奇葩问题的一次经历。
    首先本来是在win10下部署的,但是windows下python版本太高(3.12),autogpt安装的时候,会需要PyGithub这个扩展,这个扩展依赖PyNaCl这个扩展,而PyNacl没有3.12版本的已编译版本(whl),于是会在pip install的时候开始编译源码。但是windows下编译加密库,遇到各种报错,就干脆换到linux上去了。
    linux是公司的服务器,装的centos7.9,版本非常低。

    [root@proxy AutoGPT]# uname -a
    Linux proxy 3.10.0-1160.83.1.el7.x86_64 #1 SMP Wed Jan 25 16:41:43 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
    [root@proxy AutoGPT]# rpm -q centos-release
    centos-release-7-9.2009.1.el7.centos.x86_64
    

    Python版本是2.7,安装了一个python3,版本是3.6,安装PyNacl的时候,还是没有适合的whl,只能编译。
    折腾了半天,弄好之后,又有其他依赖。因为担心最后折腾到最后,还是因为低版本python而不能run,于是果断打算升级一个python,为了避免影响原本的系统,我用了pyenv。
    接下来就更惨烈了,pyenv脚本安装的时候,会下载python源码编译。中间缺库,安装了几次,尤其是openssl,必须新下载编译,然后设置LD_LBRARY_PATH。每次出错停下来的时候,安装完依赖库,用pyenv的安装脚本,还会重新下载编译,整个过程就非常慢。
    然后再是启动的时候,会使用poetry,这个东西出错日志默认没打印,打开日志才发现一些错误。
    然后最坑爹的一类问题,AutoGPT的各类sh脚本,没有可执行权限,以及都使用了windows的换行符,导致运行各种错误。但是报错又很奇怪,比如找不到文件。

    [root@proxy AutoGPT]# ./run agent start testdemo1
    /root/AutoGPT/autogpts/testdemo1
    Traceback (most recent call last):
      File "/root/AutoGPT/cli.py", line 893, in <module>
        cli()
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
        return self.main(*args, **kwargs)
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/site-packages/click/core.py", line 1078, in main
        rv = self.invoke(ctx)
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/site-packages/click/core.py", line 783, in invoke
        return __callback(*args, **kwargs)
      File "/root/AutoGPT/cli.py", line 277, in start
        setup_process = subprocess.Popen(["setup"], cwd=agent_dir)
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/subprocess.py", line 971, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "/root/.pyenv/versions/3.10.13/lib/python3.10/subprocess.py", line 1863, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: 'setup'
    

    然后就是poetry没有使用全局的pypi镜像设置,需要单独设置在pyproject.toml里。

    [root@proxy testdemo1]# poetry run python3 -m forge -v
    Invalid value (at line 11, column 6)
    
    [[tool.poetry.source]]
    name="ustc"
    url="https://mirrors.ustc.edu.cn/pypi/web/simple"
    default=true
    

    折腾了一天才算成功部署。然后悲催发现,sqlite3有问题,python里sqlite3.version永远是"2.6.0",打开页面404。。。

    教训就是,安装比较新的开源项目的时候,系统一定要用比较新的版本。否则,最好选择比较成熟,star多的项目。不然,安装使用中能折腾死人。

    相关文章

      网友评论

          本文标题:autogpt安装过程中的各种奇葩问题记录

          本文链接:https://www.haomeiwen.com/subject/lrkgidtx.html