Ami*_*mir 7 python deployment continuous-integration caching pipenv
我正在寻找一种创建满足所需的所有依赖关系的自包含档案的方法Pipfile.lock。实现此目的的一种方法是指向PIPENV_CACHE_DIR一个空的临时目录,运行pipenv install,运送该目录的内容,然后在脱机计算机上使用它。
例如,这应该工作:
tmpdir=$(mktemp -d)
if [ -n "$offline" ]; then
tar -xf pipenv_cache.tar -C "$tmpdir"
fi
pipenv --rm
PIPENV_CACHE_DIR="$tmpdir" PIP_CACHE_DIR="$tmpdir" pipenv install
if [ -n "$online" ]; then
tar -cf pipenv_cache.tar -C "$tmpdir" .
fi
Run Code Online (Sandbox Code Playgroud)
但是,此脚本存在许多问题,一个问题是它无法使用在线计算机的缓存,而必须每次都下载所有内容。
问题是,有没有一种更好的方法,它不涉及自定义脚本?也许有记录的社区最佳实践?
理想情况下,将存在类似以下的接口:
pipenv lock --create-archive <file_name>
pipenv install --from-archive <file_name>
Run Code Online (Sandbox Code Playgroud)
通过一些 Shell 脚本工作,可以使用wheelfreeze来完成它。
\n创建存档(在 Bash shell 中):
\n(. "$(pipenv --venv)"/bin/activate && wheelfreeze <(pipenv lock -r))\nRun Code Online (Sandbox Code Playgroud)\n并从存档安装:
\nwheelfreeze/install "$(pipenv --venv)"\nRun Code Online (Sandbox Code Playgroud)\n披露:正如俗话所说,我在尝试解决 \xe2\x80\x93 \xe2\x80\x9c 问题时创建了wheelfreeze,以解决我自己的痒处\xe2\x80\x9d。
\n| 归档时间: |
|
| 查看次数: |
738 次 |
| 最近记录: |