我以前都是 pip download 下来之后一个个手动安装, 今天直接试了一下 pip install * 发现只有在联网情况下直接安装, 但是在断网安装有的包的时候会直接报错, 比如说以下包
['aiocontextvars-0.2.2-py2.py3-none-any.whl', 'argparse-1.4.0-py2.py3-none-any.whl', 'certifi-2020.6.20-py2.py3-none-any.whl', 'chardet-3.0.4-py2.py3-none-any.whl', 'contextvars-2.4.tar.gz', 'EasyProcess-0.3-py2.py3-none-any.whl', 'entrypoint2-0.2.1-py2.py3-none-any.whl', 'idna-2.10-py2.py3-none-any.whl', 'immutables-0.14-cp36-cp36m-manylinux1_x86_64.whl', 'jeepney-0.4.3-py3-none-any.whl', 'loguru-0.5.1-py3-none-any.whl', 'MouseInfo-0.1.3.tar.gz', 'mss-5.1.0-py3-none-any.whl', 'numpy-1.19.0-cp36-cp36m-manylinux2010_x86_64.whl', 'opencv_python-3.4.0.14-cp36-cp36m-manylinux1_x86_64.whl', 'Pillow-7.2.0-cp36-cp36m-manylinux1_x86_64.whl', 'PyAutoGUI-0.9.50.tar.gz', 'PyGetWindow-0.0.8.tar.gz', 'PyMsgBox-1.0.8.tar.gz', 'PyMySQL-0.9.3-py2.py3-none-any.whl', 'pyperclip-1.8.0.tar.gz', 'PyRect-0.1.4.tar.gz', 'pyscreenshot-2.2-py2.py3-none-any.whl', 'PyScreeze-0.1.26.tar.gz', 'python3-xlib-0.15.tar.gz', 'PyTweening-1.0.3.zip', 'requests-2.24.0-py2.py3-none-any.whl', 'selenium-3.141.0-py2.py3-none-any.whl', 'SQLAlchemy-1.3.18-cp36-cp36m-manylinux2010_x86_64.whl', 'threadpool-1.3.2-py3-none-any.whl', 'urllib3-1.25.9-py2.py3-none-any.whl']
断网安装 PyMsgBox 的时候还是会连接 pypi, 导致报错。
1
ClericPy 2020-07-02 22:18:18 +08:00
不跨系统, 并且没有 C 依赖的库, 虚拟环境整个打包起来就好了...
如果嫌麻烦, shiv 可以打包成一个 pyz, 可以包括启动脚本也可以只打包依赖 如果跨系统....... 你说的连 pypi 我是没遇到过 |
2
Cooky 2020-07-02 22:21:28 +08:00 via Android
pip 有递归依赖包的参数,自己查查看吧
|
3
gimp 2020-07-02 22:24:08 +08:00
离线部署上 Docker 比较省心。
|
4
18870715400 OP @ClericPy 你说的方法对于有些包有用, 但是我发现有的时候比如导入 import cv2 会发现没有安装这个包, 但是原机器里面的环境中确实安装了 opencv-python
|
5
ClericPy 2020-07-02 22:43:31 +08:00
@18870715400 所以不是 pure py 的就没法用...
|
6
Trim21 2020-07-02 23:08:29 +08:00 via Android
试一下--no-deps ?
|
7
Latin 2020-07-03 11:11:38 +08:00
容器化
|