dfj_2013 发表于 2024-2-18 10:25

求助 xlwings无法安装的问题

小白一枚,利用python安装xlwings提示如下,应该是安装失败了,机器上没有安装office,只有wps,请教大神给予解答,谢谢!


pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlwings

大大的 发表于 2024-2-18 10:25

直接在cmd命令行里输入就行,不用输python再输入
javascript:;

dfj_2013 发表于 2024-2-22 19:30

是路径问题

dfj_2013 发表于 2024-2-22 19:31

大大的 发表于 2024-2-19 09:46
直接在cmd命令行里输入就行,不用输python再输入
javascript:;

是 路径的问题,不过还是感谢 你的回复

CIBao 发表于 2024-6-15 17:35

xlwings 可以去github仓库提取xlam文件, 然后打包个bat进行全自动安装

分2步, 第一部分是安装python, 文件名`1.Iinstall-Python.bat`
```bat
@echo off
:: BatchGotAdmin
:-------------------------------------
REM--> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
    >nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
:: BatchGotAdmin
:-------------------------------------

:: 设置UTF8显示
chcp 65001 > nul

:: 切换到脚本所在的路径,可以使用 %~dp0 获取批处理文件所在的目录
cd /d "%~dp0"

:: 检查 Python 是否已安装
python --version > nul 2>&1
if %errorlevel% neq 0 (
    :: 静默安装 Python,并等待安装完成
    start /wait "" ".\python-3.12.3-amd64.exe" /passive PrependPath=1 Include_test=1 InstallAllUsers=1 InstallLauncherAllUsers=1 AssociateFiles=1 TargetDir="D:\Python311" DefaultAllUsersTargetDir="D:\Python311"
    echo Python 安装完成..
)

echo 安装第三方库...
start "" ".\2.Install-Lib.bat"

pause
exit
```

第二部分是安装第三方库,文件名`2.Install-Lib.bat`
```bat
@echo off

:: 设置UTF8显示
chcp 65001 > nul

:: 切换到脚本所在的路径,可以使用 %~dp0 获取批处理文件所在的目录
cd /d "%~dp0"

:: 设置pip全局代{过}{滤}理源
D:\Python311\Scripts\pip.exe config set global.index-url https://mirrors.aliyun.com/pypi/simple/

:: 升级pip
D:\Python311\python.exe -m pip install --upgrade pip

:: 安装pandas
@rem D:\Python311\Scripts\pip.exe install pandas==2.0.3

:: 安装xlwings
@REM D:\Python311\Scripts\pip.exe install xlwings==0.30.10

:: 安装指定库
D:\Python311\Scripts\pip.exe install -r requirements.txt

:: 获取pip当前所有库
@REM D:\Python311\python.exe -m pip freeze > requirements.txt

:: 升级pip当前所有库
@REM D:\Python311\python.exe -m pip install --upgrade --no-cache-dir -r requirements.txt

:check_processes
:: 检测Excel是否启动
tasklist | findstr /i "excel.exe" > nul
if %errorlevel% equ 0 (
    echo 检测到 Excel 已开启, 请保存关闭后回车继续运行...
    pause > nul
    goto check_processes
)

:: 检测WPS是否启动
tasklist | findstr /i "wps.exe" > nul
if %errorlevel% equ 0 (
    echo 检测到 WPS 已开启, 请保存关闭后回车继续运行...
    pause > nul
    goto check_processes
)

:: 安装xlwings
D:\Python311\Scripts\xlwings.exe addin install
if %errorlevel% neq 0 (
    echo xlwings 添加出现错误...
    D:\Python311\Scripts\xlwings.exe addin --glob install
)

:: 强制复制xlam
set "sourceFile=xlwings.xlam"
set "destinationFolder=%USERPROFILE%\AppData\Roaming\Microsoft\Excel\XLSTART"

@REM 创建目标文件夹
mkdir "%destinationFolder%" 2>nul

@REM 复制文件到目标文件夹
copy /Y "%sourceFile%" "%destinationFolder%\"
echo 已复制 "%sourceFile%" "%destinationFolder%\" 中

pause
exit
```

另外, 由于新版本wps不知道什么改了什么, xlwings直接使用会导致一个错误,得降级, 论坛内有个官方无广告版本, 那个可以正常使用

xlwings.xlam 的获取链接为`https://github.com/xlwings/xlwings/blob/main/xlwings/addin/xlwings.xlam`

脚本按照截图的结构补充文件就行
页: [1]
查看完整版本: 求助 xlwings无法安装的问题