How to specify pytroch as a package requirement on windows?

懵懂的女人 提交于 2020-01-23 22:56:41

问题


I have a python package which depends on pytorch and which I’d like windows users to be able to install via pip (the specific package is: https://github.com/mindsdb/lightwood, but I don’t think this is very relevant to my question).

What are the best practices for going about this ?

Are there some project I could use as examples ?

It seems like the pypi hosted version of torch & torchvision aren’t windows compatible and the “getting started” section suggests installing from the custom pytorch repository, but beyond that I’m not sure what the ideal solution would be to incorporate this as part of a setup script.


回答1:


For Windows, the installation can be done as follows:

pip3 install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html

Here, you need to specify interested version. The -f is used to find links corresponding to the specific version on pytorch wheel page. You can use the direct link in requirements.txt file, which can be installed via pip as follows. For example, PyTorch 1.4, Python 3.7, Windows AMD64:

# for torch
https://download.pytorch.org/whl/cpu/torch-1.4.0%2Bcpu-cp37-cp37m-win_amd64.whl
# for torchvision
https://download.pytorch.org/whl/cpu/torchvision-0.5.0%2Bcpu-cp37-cp37m-win_amd64.whl

The above links are for CPU, you can find the ones for CUDA as well.

On the other hand, you can provide separate installation guide for Windows in your repository.




回答2:


What are the best practices for going about this ?

If your project depends on other projects that are not distributed through PyPI then you have to inform the users of your project one way or another. I recommend the following combination:

  • clearly specify (in your project's documentation pages, or in the project's long description, or in the README, or anything like this) which dependencies are not available through PyPI (and possibly the reason why, with the appropriate links) as well as the possible locations to get them from;
  • to facilitate the user experience, publish alongside your project a pre-prepared requirements.txt file with the appropriate --find-links options.

The reason why (or main reason, there are others), is that anyone using pip assumes that (by default) everything will be downloaded from PyPI and nowhere else. In other words anyone using pip puts some trust into pypi.org as a source for Python project distributions. If pip were suddenly to download artifacts from other sources, it would breach this trust. It should be the user's decision to download from other sources.

So you could provide in your project's documentation an example of requirements.txt file like the following:

# ...
torch===1.4.0  --find-links https://download.pytorch.org/whl/torch_stable.html
torchvision===0.5.0  --find-links https://download.pytorch.org/whl/torch_stable.html
# ...


来源:https://stackoverflow.com/questions/59856930/how-to-specify-pytroch-as-a-package-requirement-on-windows

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!