为什么python-office自动化办公不支持mac和linux?

简介: 无奈的选择。

python-office自动化办公这个开源项目是2022.5.13号上线,至今1个多月的时间分别在GitHub获得了150+ star,在Gitee获得了250+ star。

从项目创建的第一天,就有朋友反馈:这个库支持Mac和Linux吗?

我一般都是直接回复:想支持,但是我做不到。有一个不太完美的替代方案。

今天【知识星球:Python读者圈】里也有了提问,我就详细给大家解释一下我做不到的原因,如果你有解决思路,欢迎大家在评论区和我交流~

1、技术上,很难解决

根据我的python开发经验来说,很多流行的第三方库,比如:redis、supervisor等常用的专业开发工具,都不能做到windows系统和Mac系统、Linux系统完美兼容,甚至根本无法兼容。再加上Office软件本身不能兼容的问题。

客观地讲,这些著名第三方库、以及微软Office的程序员的开发水平比大多数的程序员都要高,他们都没解决兼容问题,我有点怂。

我和一些开源小伙伴也曾经想过顶住这种压力,相信自己的研发能力,把这个难题给攻克。然后仔细看了看代码,python-office里面,不兼容的问题主要是来自win32com,而win32com是只能适配win系统的。

然而因为我自己目前资源和精力有限,如果现在花时间去研发底层兼容的技术(先假如我们能做到),最近3、5年(往乐观了说),我们这个python-office都没法往前开发新的功能,也没法使用了。

对于一个新项目来说,完成更重要,还是完美更重要?我选择的是先完成,等做大了,有时间有资源了,再考虑解决可能是整个行业都在面临的问题(假如我们的项目能活到那时候)。

2、用户用什么操作系统?

生产一台笔记本电脑和开发一个开源项目的共同点是什么?我觉得是有人用。

python-office项目,目前主要面向的是非程序员的办公群体。

市场上主流的办公用操作系统有:Win、Mac、Linux。最近的一次百度发布的调查显示,它们之间的占比分别约为89%、3.7%、0.79%。

说实话,我作为一个开发者,更喜欢用Mac和Linux,我甚至可以完全不打开Windows的电脑。但是python-office不只是我一个人用。

在第1个问题,技术上无法解决导致的面对多个操作系统只能选择一个进行开发的情况下,如果你是开发者,你会选择哪一个?我选择了使用人数最多的Windows系统。

3、放弃了,但没完全放弃。

虽然从宏观上看,技术上是这样、整个市场是这样,但是微观上,对使用这个项目的Mac、Linux用户来说,如果就是想试试怎么办?

我同步发布了:python-office-mac 和 python-office-linux。直接使用pip就可以安装。

功能上,相对于原版本的python-office有所阉割。目前源代码和python-office在同一个github仓库,分别是:mac分支和linux分支。也欢迎有兴趣的同学,参与到这2个分支的开发中。

4、小结

综上所述,目前python-office因为技术上、市场使用率上的考虑,最完整的版本是windows系统的开发,其它系统的朋友,比如:Mac、Linux,可以考虑使用对应的python-office-mac、python-office-linux这些第三方库。


如果你有疑问或者创意,请在评论区和我交流哟~
相关文章
|
13天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
27天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
27 1
|
29天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
16 2
|
1天前
|
测试技术 API 网络架构
Python的api自动化测试 编写测试用例
【4月更文挑战第18天】使用Python进行API自动化测试,可以结合`requests`库发送HTTP请求和`unittest`(或`pytest`)编写测试用例。以下示例: 1. 安装必要库:`pip install requests unittest` 2. 创建`test_api.py`,导入库,定义基础URL。 3. 创建继承自`unittest.TestCase`的测试类,包含`setUp`和`tearDown`方法。 4. 编写测试用例,如`test_get_users`,检查响应状态码和内容。 5. 运行测试:`python -m unittest test_api.py`
7 2
|
1天前
|
JSON 测试技术 API
Python的Api自动化测试使用HTTP客户端库发送请求
【4月更文挑战第18天】在Python中进行HTTP请求和API自动化测试有多个库可选:1) `requests`是最流行的选择,支持多种请求方法和内置JSON解析;2) `http.client`是标准库的一部分,适合需要低级别控制的用户;3) `urllib`提供URL操作,适用于复杂请求;4) `httpx`拥有类似`requests`的API,提供现代特性和异步支持。根据具体需求选择,如多数情况`requests`已足够。
7 3
|
1天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
18 0
|
2天前
|
测试技术 持续交付 API
Python的UI自动化测试
【4月更文挑战第17天】Python UI自动化测试涉及Selenium(Web)、Appium(移动应用)和PyQt(桌面应用)等框架。基本步骤包括确定测试目标、选择合适框架、安装配置、编写测试脚本、运行调试以及集成到CI/CD流程。注意自动化测试不能完全取代人工测试,应根据需求平衡使用。
8 1
|
3天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
3天前
|
前端开发 测试技术 C++
Python自动化测试面试:unittest、pytest与Selenium详解
【4月更文挑战第19天】本文聚焦Python自动化测试面试,重点讨论unittest、pytest和Selenium三大框架。unittest涉及断言、TestSuite和覆盖率报告;易错点包括测试代码冗余和异常处理。pytest涵盖fixtures、参数化测试和插件系统,要注意避免过度依赖unittest特性。Selenium的核心是WebDriver操作、等待策略和测试报告生成,强调智能等待和元素定位策略。掌握这些关键点将有助于提升面试表现。
16 0
|
3天前
|
XML Web App开发 测试技术
python的Web自动化测试
【4月更文挑战第16天】Python在Web自动化测试中广泛应用,借助Selenium(支持多浏览器交互)、BeautifulSoup(解析HTML/XML)、Requests(发送HTTP请求)和Unittest(测试框架)等工具。测试步骤包括环境搭建、编写测试用例、初始化浏览器、访问页面、操作元素、验证结果、关闭浏览器及运行报告。注意浏览器兼容性、动态内容处理和错误处理。这些组合能提升测试效率和质量。
11 6

热门文章

最新文章