代码之家  ›  专栏  ›  技术社区  ›  Sri

我无法在虚拟环境中Pip安装Rust

  •  0
  • Sri  · 技术社区  · 5 月前

    目的-我试图通过首先安装变压器来安装Llama3 依赖关系是RUST,在将RUST安装到虚拟环境中时,我在执行-“pip install-RUST”命令时遇到SUbprocess错误

    我收到一个文件未找到错误-

    预期RUST为全新安装,但我收到以下错误

    > Using cached RUST-1.3.1-py3-none-any.whl.metadata (762 bytes)
    > Collecting pysam (from rust)
    > Using cached pysam-0.22.1.tar.gz (4.6 MB)
    > Installing build dependencies ... done
    > Getting requirements to build wheel ... error
    > error: subprocess-exited-with-error
    
    × Getting requirements to build wheel did not run successfully.
    │ exit code: 1
    ╰─\> \[60 lines of output\]
    \# pysam: cython is available - using cythonize if necessary
    \# pysam: htslib mode is shared
    \# pysam: HTSLIB_CONFIGURE_OPTIONS=None
    '.' is not recognized as an internal or external command,
    operable program or batch file.
    '.' is not recognized as an internal or external command,
    operable program or batch file.
    \# pysam: htslib configure options: None
    Traceback (most recent call last):
    File "D:\\Program Files\\python\\llama3_env\\Lib\\site-packages\\pip_vendor\\pyproject_hooks_in_process_in_process.py", line 353, in \<module\>
    main()
    \~\~\~\~^^
    File "D:\\Program Files\\python\\llama3_env\\Lib\\site-packages\\pip_vendor\\pyproject_hooks_in_process_in_process.py", line 335, in main
    json_out\['return_val'\] = hook(\*\*hook_input\['kwargs'\])
    \~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^
    File "D:\\Program Files\\python\\llama3_env\\Lib\\site-packages\\pip_vendor\\pyproject_hooks_in_process_in_process.py", line 118, in get_requires_for_build_wheel
    return hook(config_settings)
    File "C:\\Users\\srira\\AppData\\Local\\Temp\\pip-build-env-sqn_o216\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 334, in get_requires_for_build_wheel
    return self.\_get_build_requires(config_settings, requirements=\[\])
    \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\\Users\\srira\\AppData\\Local\\Temp\\pip-build-env-sqn_o216\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 304, in \_get_build_requires
    self.run_setup()
    \~\~\~\~\~\~\~\~\~\~\~\~\~\~^^
    File "C:\\Users\\srira\\AppData\\Local\\Temp\\pip-build-env-sqn_o216\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 522, in run_setup
    super().run_setup(setup_script=setup_script)
    \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\\Users\\srira\\AppData\\Local\\Temp\\pip-build-env-sqn_o216\\overlay\\Lib\\site-packages\\setuptools\\build_meta.py", line 320, in run_setup
    exec(code, locals())
    \~\~\~\~^^^^^^^^^^^^^^^^
    File "\<string\>", line 437, in \<module\>
    File "\<string\>", line 81, in run_make_print_config
    File "D:\\Program Files\\python\\Lib\\subprocess.py", line 472, in check_output
    return run(\*popenargs, stdout=PIPE, timeout=timeout, check=True,
    \~\~\~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    \*\*kwargs).stdout
    ^^^^^^^^^
    File "D:\\Program Files\\python\\Lib\\subprocess.py", line 554, in run
    with Popen(\*popenargs, \*\*kwargs) as process:
    \~\~\~\~\~^^^^^^^^^^^^^^^^^^^^^^
    File "D:\\Program Files\\python\\Lib\\subprocess.py", line 1036, in __init__
    self.\_execute_child(args, executable, preexec_fn, close_fds,
    \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    pass_fds, cwd, env,
    ^^^^^^^^^^^^^^^^^^^
    ...\<5 lines\>...
    gid, gids, uid, umask,
    ^^^^^^^^^^^^^^^^^^^^^^
    start_new_session, process_group)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "D:\\Program Files\\python\\Lib\\subprocess.py", line 1548, in \_execute_child
    hp, ht, pid, tid = \_winapi.CreateProcess(executable, args,
    \~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~\~^^^^^^^^^^^^^^^^^^
    \# no special security
    ^^^^^^^^^^^^^^^^^^^^^
    ...\<4 lines\>...
    cwd,
    ^^^^
    startupinfo)
    ^^^^^^^^^^^^
    FileNotFoundError: \[WinError 2\] The system cannot find the file specified
    \[end of output\]
    
    
    1 回复  |  直到 5 月前
        1
  •  -4
  •   Ali Saberi    5 月前

    您遇到的错误与pysam包有关,它似乎是您尝试安装的rust包的依赖项。问题的出现是因为pysam安装依赖于某些构建工具或配置,而这些工具或配置可能在您的环境中没有正确设置。

    以下是解决问题的方法:

    1. 确保安装了必备工具 pysam和其他类似的库通常需要C/C++编译器和Python开发头等构建工具。请确保您已安装以下内容:

    窗户 安装Visual Studio的生成工具: 下载并安装Microsoft C++构建工具。 在安装过程中,选择“C++构建工具”工作负载。 如果cmake尚未可用,请安装: 运行pip安装cmake。

    Linux:

    sudo apt-get update
    sudo apt-get install -y build-essential libz-dev libbz2-dev liblzma-dev libcurl4-openssl-dev
    

    MacOS:

    xcode-select --install
    brew install cmake zlib bzip2 xz
    
    1. 安装Rust工具链 某些依赖项需要Rust工具链。使用官方的Rust安装程序:

      curl--原型“=https”--tlsv1.2-sSf https://sh.rustup.rs |sh

    安装后,确保货物和锈迹在您的路径中:

    rustc --version
    cargo --version
    
    1. 创建干净的虚拟环境 创建一个新的Python虚拟环境以避免冲突:

      python-m venv llama3_env 源代码llama3_env/bin/activate#在Windows上,使用llama3-env\Scripts\activate

    2. 安装安装工具和控制盘 确保安装了最新版本的setuptools和wheel,因为它们对于构建Python包至关重要:

      pip安装--升级pip setuptools控制盘

    3. 安装变压器时不得生锈 变压器没有明确要求防锈包装。如果您要为Llama3安装变压器,请避免直接安装铁锈。

    运行以下命令:

    pip install transformers
    
    1. 如果需要生锈

    如果您的项目仍然需要防锈,请使用以下工具单独安装:

    pip install rust
    
    1. 调试安装问题 如果仍然遇到错误,请在pip中使用--verbose标志来获取详细的日志:

      pip安装生锈--详细

    2. 替代方案:使用预编译车轮 如果构建pysam或rust失败,请尝试为您的平台下载并安装预编译的轮子:

    访问PyPI和PyPI锈迹。 下载适合您平台的.whl文件。 手动安装

    pip install <path_to_wheel_file>