我正在尝试从requirements.txt文件为python项目安装几个依赖项。
当遇到“火炬”依赖项时,它声称无法找到版本1.3.1,但只能在我的Mac上找到,而在Ubuntu上找不到。 (不幸的是,此项目无法使用1.4之类的版本)
在我的Mac上:
➜ code mkdir test_proj
➜ code cd test_proj
➜ test_proj mkvirtualenv $(basename $(pwd))
created virtual environment CPython3.8.5.final.0-64 in 304ms
creator CPython3Posix(dest=/Users/aeb/.virtualenvs/test_proj, clear=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/Users/aeb/Library/Application Support/virtualenv)
added seed packages: pip==20.2.2, setuptools==49.6.0, wheel==0.35.1
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
virtualenvwrapper.user_scripts creating /Users/aeb/.virtualenvs/test_proj/bin/predeactivate
virtualenvwrapper.user_scripts creating /Users/aeb/.virtualenvs/test_proj/bin/postdeactivate
virtualenvwrapper.user_scripts creating /Users/aeb/.virtualenvs/test_proj/bin/preactivate
virtualenvwrapper.user_scripts creating /Users/aeb/.virtualenvs/test_proj/bin/postactivate
virtualenvwrapper.user_scripts creating /Users/aeb/.virtualenvs/test_proj/bin/get_env_details
(test_proj) ➜ test_proj which python
/Users/aeb/.virtualenvs/test_proj/bin/python
(test_proj) ➜ test_proj which pip
/Users/aeb/.virtualenvs/test_proj/bin/pip
(test_proj) ➜ test_proj pip install torch==1.3.1
ERROR: Could not find a version that satisfies the requirement torch==1.3.1 (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2, 1.4.0, 1.5.0, 1.5.1, 1.6.0)
ERROR: No matching distribution found for torch==1.3.1
(test_proj) ➜ test_proj
有趣的是,在Ubuntu VM中,相同的pip install命令没有问题:
user@devbox-vm2:~$ pip3 install torch==1.3.1
Collecting torch==1.3.1
Using cached https://files.pythonhosted.org/packages/88/95/90e8c4c31cfc67248bf944ba42029295b77159982f532c5689bcfe4e9108/torch-1.3.1-cp36-cp36m-manylinux1_x86_64.whl
任何人知道为什么Mac版本的pip找不到该特定版本的PyTorch时遇到麻烦,但是Ubuntu并没有同样的问题并成功完成吗?
也许更重要了,有一种方法可以将Mac版本的pip指向“ Ubuntu VM正在使用的同一包文件” ,因为这似乎可以正常工作(或我可以对requirements.txt文件进行类似的修改,以便它可以在Mac上运行,而不仅仅是在Ubuntu上运行?
非常感谢!
答案 0 :(得分:2)
torch
1.3.1没有为Python 3.8提供轮子,因此Mac上的Python无法安装它。在Ubuntu上,您使用Python 3.6,因此Ubuntu上的pip
可以安装此版本。
在Mac上使用Python 3.6或3.7。
答案 1 :(得分:2)
查看该版本的Torch的{{3}}时,您会看到:
.tar.gz
); manylinux1
是可在许多linux版本上运行的标签,该标签可能已经很旧了-毫不奇怪,它可以在Ubuntu上使用Python 2.7、3.5、3.6或3.7; 特别是,所有这些发行版都不能在Python 3.8上运行,这是控制台输出显示的Python版本。