想离线安装一个第三方库xlwt,python版本分别是3.6和3.11的
xlwt
库在有网络连接的机器上下载 xlwt
库的wheel文件:
你可以使用 pip download
命令下载该库的wheel文件(.whl)。
pip download xlwt
这将在当前目录下下载 xlwt
的 .whl
文件。例如,可能是 xlwt-1.3.0-py2.py3-none-any.whl
。
检查下载的文件:
确保你下载了正确的文件。你应该看到一个类似于 xlwt-1.3.0-py2.py3-none-any.whl
的文件。
将下载的 .whl
文件通过USB、局域网等方式传输到目标机器。
xlwt
安装 xlwt
:
在目标机器上,打开终端或命令提示符,导航到存放 .whl
文件的目录,然后运行以下命令:
pip install xlwt-1.3.0-py2.py3-none-any.whl
如果你有多个Python版本,可以通过指定Python解释器来安装:
例如,对于Python 3.6:
python3.6 -m pip install xlwt-1.3.0-py2.py3-none-any.whl
对于Python 3.11:
python3.11 -m pip install xlwt-1.3.0-py2.py3-none-any.whl
安装完成后,你可以通过以下命令验证是否安装成功:
python -c "import xlwt; print(xlwt.__version__)"
这应该输出 xlwt
的版本号,如果安装成功。
pip download xlwt
下载 .whl
文件。.whl
文件传输到目标机器。pip install
安装库。通过这些步骤,你就可以在没有网络连接的机器上离线安装 xlwt
库了。
下载的第三方包不能保证能适配不同的python版本
xlwt
的官方文档会说明它支持哪些Python版本。xlwt
的 PyPI 页面 会列出其支持的Python版本。pip
下载适配特定Python版本的库pip
提供了一些选项,可以帮助你下载适配特定Python版本的库:
# 下载适配 Python 3.6 的 xlwt
pip download xlwt --python-version 3.6
# 下载适配 Python 3.11 的 xlwt
pip download xlwt --python-version 3.11
使用虚拟环境可以帮助你隔离不同项目的依赖,并确保每个项目使用合适的Python版本和库版本。
#eg:
conda create -n python_env3.6 python=3.6
#eg:
conda create -n python_env3.11 python=3.11
安装完成后,你可以在对应的虚拟环境中运行以下命令,验证库是否正确安装:
# 激活虚拟环境后
python -c "import xlwt; print(xlwt.__version__)"
.whl
文件如果你需要在没有网络的目标机器上安装多个版本的Python并且需要确保库的兼容性,你可以在有网络的机器上下载多个版本的 .whl
文件。
pip download xlwt --python-version 3.6
pip download xlwt --python-version 3.11
将这些文件传输到目标机器后,根据需要分别安装:
python3.6 -m pip install xlwt-<version>-py3-none-any.whl
python3.11 -m pip install xlwt-<version>-py3-none-any.whl
通过以下步骤,你可以确保第三方库适配不同的Python版本:
pip download
命令下载适配特定Python版本的库。.whl
文件,分别在对应Python版本下安装。这样,你就能在不同的Python版本下确保第三方库的兼容性和正常运行。
如果要下载的第三方库要成功使用,不知要下载他自己,还要别的依赖库,那使用
#离线下载python库 pyinstall ,我想指定下载Python 3.6的,
pip download pyinstaller --python-version 3.6
#下面是报错内容
"""
ERROR: When restricting platform and interpreter constraints using --python-version, --platform, --abi, or --implementation, either --no-deps must be set, or --only-binary=:all: must be set and --no-binary must not be set (or must be set to :none:).
要离线下载 PyInstaller 并指定 Python 3.6 版本,你需要满足 pip 的一些要求。具体来说,你需要使用 --no-deps 或者 --only-binary=:all: 选项。
"""
pip install pyinstaller
pip show pyinstaller
这将显示类似如下的信息:
Name: pyinstaller
Version: 5.x.x
Summary: Converts (packages) Python programs into stand-alone executables
Home-page: http://www.pyinstaller.org
Author: Hartmut Goebel
Author-email: [email protected]
License: GPLv2
Location: /path/to/site-packages
Requires: altgraph, pefile, pyinstaller-hooks-contrib, future
Required-by:
其中,Requires 列出了 pyinstaller 的依赖包。
3. 生成requirement.txt文件
如果你只想下载 pyinstaller 及其依赖包,可以手动创建一个 requirements.txt 文件,其中包含 pyinstaller 和它的依赖包:
4. 下载依赖包,使用pip download命令下载这些包:
pip download -r requirements.txt
pip install --no-index --find-links /path/to/downloaded/packages pyinstaller
"""
--no-index:不使用 PyPI。
--find-links /path/to/downloaded/packages:从指定的本地目录中查找包文件。
pyinstaller:安装 pyinstaller 包。
"""
对于上面的步骤,其中第三步不想要自己复制的,也可以通过创建一个临时的虚拟Python环境,只安装pyinstaller,通过指令,直接将相关库导入到requirement.txt中去
python -m venv temp_env
source temp_env/bin/activate # Windows 上使用 temp_env\Scripts\activate
pip install pyinstaller
pip freeze > requirements.txt
"""
pip freeze:这个命令会列出当前环境中所有已安装的 Python 包及其版本号。
>:这是一个重定向操作符,用于将命令的输出保存到一个文件中。在这个例子中,将 pip freeze 命令的输出保存到 requirements.txt 文件中。
这条命令会将当前环境中所有已安装的包及其版本号写入到 requirements.txt 文件中。
"""
pip download -r requirements.txt
deactivate
rm -rf temp_env
"""
对于windows环境下,需要换成rmdir
rmdir 命令可以删除一个空目录。要删除包含文件的目录,你需要使用 /s 选项。
rmdir /s /q temp_env
del 命令用于删除文件。如果你要删除整个目录,可以结合 del 和 rmdir 命令:
del /f /s /q temp_env\*
rmdir /s /q temp_env
/f 强制删除只读文件。
/s 从所有子目录中删除指定文件。
"""
pip install --no-index --find-links /path/to/downloaded/packages pyinstaller
#eg:
pip install --no-index --find-links D:\testproject\python_test pyinstaller