Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用pipenv安装PyTorch并将其保存到Pipfile和Pipfile.lock?_Python_Windows_Pytorch_Pipenv_Torchvision - Fatal编程技术网

Python 如何使用pipenv安装PyTorch并将其保存到Pipfile和Pipfile.lock?

Python 如何使用pipenv安装PyTorch并将其保存到Pipfile和Pipfile.lock?,python,windows,pytorch,pipenv,torchvision,Python,Windows,Pytorch,Pipenv,Torchvision,我目前正在使用Pipenv来维护特定项目中使用的Python包。到目前为止,我尝试的大多数下载都按预期进行了;也就是说,我输入pipenv install[package],它将包安装到虚拟环境中,然后将包信息记录到Pipfile和Pipfile.lock中 $ pipenv clean 然而,我在安装PyTorch时遇到了一些问题 我已经尝试运行了pipenv install torch,但每次锁定步骤都失败了。相反,我尝试直接从PyTorch网站使用 pipenv run pip inst

我目前正在使用Pipenv来维护特定项目中使用的Python包。到目前为止,我尝试的大多数下载都按预期进行了;也就是说,我输入
pipenv install[package]
,它将包安装到虚拟环境中,然后将包信息记录到Pipfile和Pipfile.lock中

$ pipenv clean
然而,我在安装PyTorch时遇到了一些问题

我已经尝试运行了
pipenv install torch
,但每次锁定步骤都失败了。相反,我尝试直接从PyTorch网站使用

pipenv run pip install torch===1.6.0 torchvision===0.7.0 -f https://download.pytorch.org/whl/torch_stable.html
而且它确实安装了!如果我运行
pipenv graph
,它会显示torch和torchvision及其依赖项。但仍然存在一个问题:torch和torchvision都没有保存到Pipfile和Pipfile.lock中


您知道如何实现这一点吗?

当您使用
pipenv运行pip安装
时,将跳过更新Pipfile和Pipfile.lock的自定义
pipenv
操作。它基本上相当于执行普通的
pip安装
,就好像您没有/使用
pipenv

同时更新PIP文件的唯一方法是使用
pipenv install

$ pipenv install --verbose "https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
不幸的是,当我发布这个。一种解决方法是手动查找所需的正确火炬轮(
.whl
)链接,使用pytorch通常意味着从中查找正确的链接(我将在下面展示如何执行此操作的技巧)

然后,使用和控制盘的URL创建/修改PIP文件:

[[source]]
name=“pypi”
url=”https://pypi.org/simple"
验证\u ssl=true
[需要]
python_version=“3.8”
[套餐]
torch={version=“==1.6.0”,文件=“https://download.pytorch.org/whl/cpu/torch-1.6.0-cp38-none-macosx_10_9_x86_64.whl"}
torchvision={version=“==0.7.0”,文件=“https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"}
然后只需执行正常的
pipenv安装

$ pipenv install --verbose "https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
您可以使用
pipenv安装--verbose来确认安装:

收集火炬==1.6.0 ... “抬头看”https://download.pytorch.org/whl/cpu/torch-1.6.0-cp38-none-macosx_10_9_x86_64.whl“在缓存中 基于日期的当前年龄:8 开始新的HTTPS连接(1):download.pytorch.org:443 https://download.pytorch.org:443 “GET/whl/cpu/torch-1.6.0-cp38-none-macosx_10_9_x86_64.whl HTTP/1.1”304 0 ... 新增火炬==1.6.0https://download.pytorch.org/whl/cpu/torch-1.6.0-cp38-none-macosx_10_9_x86_64.whl#egg=torch ... 已成功安装torch-1.6.0 收集火炬视觉==0.7.0 ... “抬头看”https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl“在缓存中 基于日期的当前年龄:8 开始新的HTTPS连接(1):download.pytorch.org:443 https://download.pytorch.org:443 “GET/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl HTTP/1.1”304 0 ... 添加的torchvision==0.7.0https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl#egg=torchvision ... 成功安装torchvision-0.7.0
这还会将条目添加到Pipfile.lock:

“火炬”:{
“文件”:”https://download.pytorch.org/whl/cpu/torch-1.6.0-cp38-none-macosx_10_9_x86_64.whl",
“散列”:[
...
],
“索引”:“pypi”,
“版本”:“==1.6.0”
},
“火炬视觉”:{
“文件”:”https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl",
“散列”:[
...
],
“索引”:“pypi”,
“版本”:“==0.7.0”
}
有了它,您现在有了一个Pipfile和Pipfile.lock,您可以在开发应用程序时签入/提交到版本控制并跟踪/管理它

您也可以从命令行执行此操作,而不是手动编辑PIP文件:

(临时)$pipenv安装--详细”https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
安装https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl...
...
正在将torchvision添加到Pipfile的[packages]。。。
✔ 安装成功
还应向PIP文件添加一个条目:

[软件包]
...
torchvision={file=”https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"}
当然,这一切都取决于你到底需要哪个轮子。这可以通过首先使用普通的
pip安装
-f
/
-查找指向URL的链接
选项来完成,然后检查它使用了哪个控制盘

  • 首先,让我们使用
    pip安装
    $ pipenv install --verbose "https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
    
    $pipenv运行pip安装--verbose torchvision==0.7.0-fhttps://download.pytorch.org/whl/torch_stable.html
    查看链接:https://download.pytorch.org/whl/torch_stable.html
    ...
    收集火炬视觉==0.7.0
    下载torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl(387KB)
    ...
    
  • 从虚拟环境中删除
    pip安装
    -ed内容
    $ pipenv clean
    
    $ pipenv install --verbose "https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
    
  • 重复安装,但使用
    pipenv安装
    $ pipenv install --verbose "https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
    
    • 只需合并“https://download.pytorch.org/whl/“+
      .whl
      步骤1中的文件名

  • 首先使用
    pip install
    然后将其复制到
    pipenv
    ,这似乎有点倒退,但这里的目标是让
    pipenv
    更新Pipfile和Pipfile.lock(以支持确定性构建)并“记录”您的环境以进行版本控制。

    当使用
    pipenv运行pip install
    时,这将跳过更新Pipfile和Pipfile.lock的自定义
    pipenv
    操作。它基本上相当于执行普通的
    pip安装
    ,就好像您没有/使用
    pipenv

    $ pipenv install --verbose "https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
    
    同时更新PIP文件的唯一方法是使用
    pipenv install

    $ pipenv install --verbose "https://download.pytorch.org/whl/torchvision-0.7.0-cp38-cp38-macosx_10_9_x86_64.whl"
    
    不幸的