普通的pipenv install
pipenv install tensorflow Courtesy Notice: Pipenv found itself running within a virtual environment, so it will automatically use that environment, instead of creating its own for any project. You can set PIPENV_IGNORE_VIRTUALENVS=1 to force pipenv to ignore that environment and create its own instead. You can set PIPENV_VERBOSITY=-1 to suppress this warning. Installing tensorflow… ✔ Installation Succeeded Pipfile.lock (0e60d2) out of date, updating to (44152f)… Locking [dev-packages] dependencies… Locking [packages] dependencies… Building requirements... Traceback (most recent call last): File "/usr/local/var/pyenv/versions/3.8.2/bin/pipenv", line 8, in <module> sys.exit(cli()) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 829, in __call__ return self.main(*args, **kwargs) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 782, in main rv = self.invoke(ctx) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 73, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/core.py", line 610, in invoke return callback(*args, **kwargs) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py", line 21, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/cli/command.py", line 232, in install retcode = do_install( File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 2192, in do_install do_init( File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 1276, in do_init do_lock( File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/core.py", line 1103, in do_lock venv_resolve_deps( File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/utils.py", line 1323, in venv_resolve_deps c = resolve(cmd, sp) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/utils.py", line 1136, in resolve result = c.expect(u" ", timeout=environments.PIPENV_INSTALL_TIMEOUT) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/delegator.py", line 215, in expect self.subprocess.expect(pattern=pattern, timeout=timeout) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/pexpect/spawnbase.py", line 343, in expect return self.expect_list(compiled_pattern_list, File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/pexpect/spawnbase.py", line 372, in expect_list return exp.expect_loop(timeout) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/pexpect/expect.py", line 181, in expect_loop return self.timeout(e) File "/usr/local/var/pyenv/versions/3.8.2/lib/python3.8/site-packages/pipenv/vendor/pexpect/expect.py", line 144, in timeout raise exc pexpect.exceptions.TIMEOUT: <pexpect.popen_spawn.PopenSpawn object at 0x110dc63a0> searcher: searcher_re: 0: re.compile(' ') <pexpect.popen_spawn.PopenSpawn object at 0x110dc63a0> searcher: searcher_re: 0: re.compile(' ')
虽然官网上说目前还不支持3.8版本,但是到pypi上看有3.8的whl包,再好像是sof有关问题的回答,改用whl安装通过
pipenv install https://pypi.doubanio.com/packages/d5/13/594694d5eced4375ee6ba0937fc0157179a0dd32d7222699091160a5631c/tensorflow-2.2.0-cp38-cp38-macosx_10_11_x86_64.whl#sha256=bbcfb04738099bd46822db91584db74703fdddacf4cd0a76acfc5e086956b5ba
pytorch安装时出错log和上面的error log一样,相同方法解决
但上面的方法有缺陷,pipfile的那个位置编程下面这样:
tensorflow = {file = "https://pypi.doubanio.com/packages/d5/13/594694d5eced4375ee6ba0937fc0157179a0dd32d7222699091160a5631c/tensorflow-2.2.0-cp38-cp38-macosx_10_11_x86_64.whl"}
到另外一个操作系统环境下,这个pipfile不可用,得手动改一下,这样影响CICD。
最后用pyenv装了个python3.7,解决了纯指令安装问题。
后来又碰到这个问题,bing查了一下,sof有这么一个解释:https://stackoverflow.com/questions/51255947/pipenv-install-failing-due-to-timeout ,里面的方法经试用有效:
export PIPENV_TIMEOUT=9999 export PIPENV_INSTALL_TIMEOUT=9000