python离线安装一个第三方库

文章目录

    • 实例
    • 步骤
      • 下载 `xlwt` 库
      • 将文件转移到目标机器
      • 在目标机器上安装 `xlwt`
      • 验证安装
      • 总结步骤
    • 可能的问题
    • 解决方法
      • 检查库的兼容性
      • 使用 `pip` 下载适配特定Python版本的库
      • 创建虚拟环境
        • 创建虚拟环境(Python 3.6)
        • 创建虚拟环境(Python 3.11)
      • 检查和验证库的安装
      • 下载多个版本的 `.whl` 文件
      • 总结
    • 更新:下载的第三方库有依赖库
      • 解决方案


实例

想离线安装一个第三方库xlwt,python版本分别是3.6和3.11的

步骤

下载 xlwt

  1. 在有网络连接的机器上下载 xlwt 库的wheel文件

    你可以使用 pip download 命令下载该库的wheel文件(.whl)。

    pip download xlwt
    

    这将在当前目录下下载 xlwt.whl 文件。例如,可能是 xlwt-1.3.0-py2.py3-none-any.whl

  2. 检查下载的文件

    确保你下载了正确的文件。你应该看到一个类似于 xlwt-1.3.0-py2.py3-none-any.whl 的文件。

将文件转移到目标机器

将下载的 .whl 文件通过USB、局域网等方式传输到目标机器。

在目标机器上安装 xlwt

  1. 安装 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 的版本号,如果安装成功。

总结步骤

  1. 在有网络的机器上运行 pip download xlwt 下载 .whl 文件。
  2. .whl 文件传输到目标机器。
  3. 在目标机器上运行 pip install 安装库。

通过这些步骤,你就可以在没有网络连接的机器上离线安装 xlwt 库了。

可能的问题

下载的第三方包不能保证能适配不同的python版本

解决方法

检查库的兼容性

  1. 查看官方文档:大多数第三方库的官方文档会列出支持的Python版本。例如,xlwt 的官方文档会说明它支持哪些Python版本。
  2. 查看PyPI页面:在 Python Package Index (PyPI) 上搜索库的页面,查看该库支持的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版本和库版本。

创建虚拟环境(Python 3.6)
#eg:
conda create -n python_env3.6 python=3.6
创建虚拟环境(Python 3.11)
#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版本:

  1. 查看官方文档和PyPI页面,确认库支持的Python版本。
  2. 使用 pip download 命令下载适配特定Python版本的库。
  3. 使用虚拟环境隔离不同项目的依赖。
  4. 下载多个版本的 .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: 选项。
"""

解决方案

  1. 安装pyinstaller
    pip install pyinstaller
    
  2. 查看pyinstall 的信息,使用pip show命令查看pyinstall 的详细信息
    必须当前的python环境有pyinstall,pip show pyinstall才能运行成功
    pip show 命令用于显示已安装包的信息。如果包没有安装,pip show 将无法找到并显示该包的信息。
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
  1. 在离线环境中安装包:将下载好的包文件复制到离线环境,然后运行:
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中去

  1. 创建临时虚拟环境:
python -m venv temp_env
source temp_env/bin/activate  # Windows 上使用 temp_env\Scripts\activate
  1. 安装 pyinstaller:
pip install pyinstaller
  1. 生成 requirements.txt 文件:
pip freeze > requirements.txt
"""
pip freeze:这个命令会列出当前环境中所有已安装的 Python 包及其版本号。
>:这是一个重定向操作符,用于将命令的输出保存到一个文件中。在这个例子中,将 pip freeze 命令的输出保存到 requirements.txt 文件中。
这条命令会将当前环境中所有已安装的包及其版本号写入到 requirements.txt 文件中。
"""
  1. 下载 pyinstaller 及其依赖包:
pip download -r requirements.txt
  1. 退出并删除临时虚拟环境:
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 从所有子目录中删除指定文件。
""" 
  1. 在离线环境中安装包: 将下载好的包文件复制到离线环境,然后运行:
pip install --no-index --find-links /path/to/downloaded/packages pyinstaller
#eg:
pip install --no-index --find-links D:\testproject\python_test pyinstaller

你可能感兴趣的:(python相关,python,第三方库)