【发布时间】:2016-02-14 16:33:55
【问题描述】:
#!/bin/bash -e
pip install -r requirements.txt
当我执行上述脚本时,我收到以下错误消息;
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 257, in run
InstallRequirement.from_line(name, None))
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 173, in from_line
return cls(req, comes_from, url=url, prereleases=prereleases)
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 71, in __init__
req = pkg_resources.Requirement.parse(req)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2667, in parse
reqs = list(parse_requirements(s))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2593, in parse_requirements
raise ValueError("Missing distribution spec", line)
ValueError: ('Missing distribution spec', '\xe2\x80\x93r')
Storing debug log for failure in /home/user/.pip/pip.log
但是如果我执行
pip install –r requirements.txt
直接通过 bash,它工作正常。可能是什么原因?
下面是我的python和pip版本;
user@ubuntu:~$ python -V
Python 2.7.6
user@ubuntu:~$ pip -V
pip 1.5.4 from /usr/lib/python2.7/dist-packages (python 2.7)
user@ubuntu:~$
【问题讨论】:
-
requirements.txt与env_requirements.txt中的内容是什么? -
在脚本的执行环境中可以访问
requirements.txt,特别是在当前目录或$PATH -
很抱歉造成混乱。我已经更新了问题。 “requirements.txt”被用于这两个命令。我已将文件“requirements.txt”与脚本放在同一目录中,但它仍然无法正常工作
-
你需要shebang中的
-e吗?
标签: python bash pip python-2.x