普通的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"\n", 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('\n') <pexpect.popen_spawn.PopenSpawn object at 0x110dc63a0> searcher: searcher_re: 0: re.compile('\n')
雖然官網上說目前還不支持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