Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Heroku托管的Rails应用程序执行的Python脚本时,python-docx遇到问题

使用Heroku托管的Rails应用程序执行的Python脚本时,python-docx遇到问题
EN

Stack Overflow用户
提问于 2015-08-25 15:43:16
回答 1查看 416关注 0票数 1

TLDR:我的python脚本--我在heroku上的rails应用程序--由于某些unicode/lxml依赖关系而在“从docx导入文档”失败。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    2015-08-25T22:09:35.561165+00:00 app[web.1]: Traceback (most recent call last):
    2015-08-25T22:09:35.561172+00:00 app[web.1]:   File "individual_insights_survey_report.py", line 4, in <module>
    2015-08-25T22:09:35.561181+00:00 app[web.1]:     from docx import Document
    2015-08-25T22:09:35.561222+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/docx/__init__.py", line 3, in <module>
    2015-08-25T22:09:35.561254+00:00 app[web.1]:     from docx.api import Document  # noqa
    2015-08-25T22:09:35.561277+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/docx/api.py", line 14, in <module>
    2015-08-25T22:09:35.561312+00:00 app[web.1]:     from docx.package import Package
    2015-08-25T22:09:35.561336+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/docx/package.py", line 11, in <module>
    2015-08-25T22:09:35.561369+00:00 app[web.1]:     from docx.opc.package import OpcPackage
    2015-08-25T22:09:35.561391+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/docx/opc/package.py", line 12, in <module>
    2015-08-25T22:09:35.561421+00:00 app[web.1]:     from .part import PartFactory
    2015-08-25T22:09:35.561443+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/docx/opc/part.py", line 12, in <module>
    2015-08-25T22:09:35.561473+00:00 app[web.1]:     from .oxml import serialize_part_xml
    2015-08-25T22:09:35.561495+00:00 app[web.1]:   File "/app/.heroku/python/lib/python2.7/site-packages/docx/opc/oxml.py", line 12, in <module>
    2015-08-25T22:09:35.561533+00:00 app[web.1]:     from lxml import etree
    2015-08-25T22:09:35.561628+00:00 app[web.1]: ImportError: /app/.heroku/python/lib/python2.7/site-packages/lxml/etree.so: undefined symbol: PyUnicodeUCS2_DecodeLatin1

我认为这可能是一个版本控制的问题,但似乎找不到像它在本地工作的版本。这可能是Python + Heroku的问题,因为这是我第一次尝试在Heroku上使用任何Python。

具体来说,我找到了这个邮件组邮寄,它提到:

lxml可以支持UCS4或UCS2作为内部Unicode表示形式,但切换是在编译时完成的。 确保编译etree.so的Python和使用它的Python是相同的。相同的版本(至少是2.7.x中的小版本,可能是2.7.3中的微版本),相同的体系结构,以及在本例中相同的Unicode设置(UCS4 vs UCS2)。 最简单的方法是从源tarball重新安装lxml。你还有这个问题吗?“

因此,我试图找出使用了哪种版本的Python (失败),然后尝试在runtime.txt中指定不同的版本,以尝试使其工作。

警告:链上有很多片段,我不太熟悉其中的大多数--所以如果我需要提供更多的信息来给出上下文--请告诉我!

全文:我的公司有一个Rails应用程序,它基本上是一个为我们的客户交付团队生成数据报告的自助服务平台。

通过单击按钮,Rails应用程序应该会触发Python脚本,该脚本打开Excel电子表格(openpyxl),并在上面运行一些数据分析,然后将报告输出到Microsoft (Python)文档中,该文档将在zip文件中下载。

这无疑是一种次优/过于复杂的方法,但我继承了Webapp,目前只是尝试在它的结构中工作。

我的Python脚本在本地运行时运行良好,并且独立运行(没有rails/ruby/heroku):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Python ver: 2.7.5
openpyxl==2.2.5
python-docx==0.8.5

我尝试过heroku应用程序,其中包含: Python版本: 2.7.3、2.7.5、2.7.9、2.7.10和上面的错误。requirements.txt如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python-docx==0.8.5
openpyxl==2.2.5
lxml==3.4.4

为安全起见添加了lxml。

当我使用Python版本时: 3.2.5,3.3.3

在哪里我得到了这个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    2015-08-25T23:38:59.793177+00:00 app[web.1]: ImportError: No module named site

任何关于如何解决这个问题的帮助都是很棒的!我需要重新安装Python还是模块?那在Heroku上也可以吗?我失去了依赖吗?配置方面的问题?(帮助:)

EN

回答 1

Stack Overflow用户

发布于 2015-11-30 16:46:15

原来这是我自己的愚蠢--基本上是我用"python“来触发python脚本,它生成了无用的"ImportError: No模块名站点”,而不是"python3“。

调换了,一切都很好!所以,如果你得到了那个错误,那可能就是发生了什么;p

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32215851

复制
相关文章
Salesforce的PaaS平台Heroku简介
Heroku是可支持多种编程语言的PAAS平台。现归属于Salesforce。Heroku与2007年开始发展起来,作为最早的云平台之一,在最初的时候只只能ruby编程语言,后来宣布支持Java、Node.js、Scala、Clojure、php以及Python这种语言。
臭豆腐
2019/04/16
7.4K0
Salesforce的PaaS平台Heroku简介
[Python] python-docx
        OS: MS XP professional SP3 Win32
py3study
2020/01/09
7070
使用python-docx模块读写word文件
word文档的自动化处理是一件比较头痛的事情,因为深耕于windows操作系统,对于跨平台需求的word文档编辑,是非常痛苦的一件事。在python的生态环境中,提供了python-docx这个模块,可以方便的进行跨平台的word文档处理,但是只适合word 2007以后的文档,即后缀为docx的文档。
生信修炼手册
2020/12/11
1.6K0
使用python-docx读取doc,d
API:    http://python-docx.readthedocs.io/en/latest/#api-documentation
py3study
2020/01/03
9960
jenkins执行python脚本的方法
在jenkins上打算运行一段python脚本,查到一些常用的方法,下面会介绍。还遇到了版本兼容性问题导致的怎么都执行不成功,最终试了各种版本,定位到兼容性问题,真是各种坑。
py3study
2020/01/07
8.9K0
python python-docx 替
最根本的参考当然还是官方的文档,相当不错的中文讲解。 有人已经做了如何修改一些格式的博客:用python-docx修改已存在的Word文档的表格的字体格式。 我这里给出替换内容给的例子,简单来说,就是使用一个函数.clear()清除原来内容,然后add_run增加内容:
py3study
2020/01/13
6010
启动Linux时自动执行Shell脚本
我们假定使用的是 Bash 作为登录及注销的主 Shell。如果你使用的是其他 Shell,那么有些方法可能会无效。如果有其他的疑问,请参考对应的 Shell 文档。
用户7639835
2021/08/30
3.9K0
使用SSH隧道保护三层Rails应用程序中的通信
在Ruby on Rails应用程序中,它可以轻易地映射到表示层的Web服务器,应用程序层的Rails服务器和数据层的数据库。在此设置中,应用程序层与数据层通信来检索应用程序的数据,然后通过表示层向用户显示该数据。
彼岸轮回
2018/08/13
5.8K0
Word 神器 python-docx
前两天有个朋友向我求助,她在写毕业论文时,不小心将论文里的中文双引号替换为英文的了,各种原因导致无法回退,8万多字的论文,眼看就要交了,该怎么办?
纯洁的微笑
2020/04/01
2.8K0
Word 神器 python-docx
jenkins执行python脚本
最新在研究使用jenkins做升级发布功能,大概的操作是选择产品、模块、环境等参数后,执行一个python脚本,脚本获取用户选择参数,然后执行发布动作。
py3study
2020/01/07
2.9K0
部署一个Sinatra应用程序到Heroku
该文章介绍了如何部署一个Sinatra应用程序到Heroku。首先,需要设置一个Gemfile和一个config.ru文件,使用Git将应用程序部署到Heroku。然后,需要安装Heroku gem,生成SSH密钥并将其添加到Heroku。最后,通过运行`heroku keys:add`命令将SSH密钥添加到Heroku。
Seven塞文
2018/01/05
5.2K0
NetCore使用托管服务执行后台任务
我们经常要使用NetCore控制台或者AspNetCore来定义一些通用的后台服务。如果自行编码的话,对后台服务的理解应该体现在启动一个线程,使用while循环执行任务,每次时间间隔N秒,这是最简单的一种实现方式。
happlyfox
2021/04/30
1.3K0
使用Phoenix自带的工具执行sql脚本
phoenix自带了执行sql脚本的功能,这样方便了希望能够直接将一些关系型数据库的数据进行迁移到Hbase(也可以直接使用sqoop进行导入)。
Dlimeng
2023/06/29
3740
如何使用Linux的Crontab执行PHP脚本
我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助Linux的Crontab工具来稳定可靠地触发PHP执行任务。 下面介绍Crontab的两种方法。 一、在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。 每一小时执行myscript.php如下: # crontab -e 00 * * *
wangxl
2018/03/07
2.4K0
django开发时遇到问题的正确求助姿势
自 django博客教程发布以来,已有超过上万名读者学习了该教程。一些学习者跟随教程顺利地完成了个人博客的搭建,但一直以来也不断地收到读者的评论留言、QQ 留言、邮件等求助信息,他们被开发中的一些问题卡主了,并且不知道该如何解决。随着教程阅读者越来越多,我收到的求助信息也越来越多。一个人的力量始终是有限的,我个人也难以回答所有求助者的问题。为此,我想向大家介绍一些当初我学习 django 时遇到问题如何有效求助的一些经验,一些更容易得到解决方案的求助渠道,以及一些可供查阅的 django 资料等。 求助首选
追梦人物
2018/04/17
9810
[PHP] PHP的脚本执行
PHP的脚本执行: PHP的脚本执行还是会经过编译环节, 只不过它们一般会在运行的时候实时进行编译 1.启动PHP及Zend引擎, 加载注册的扩展模块 2.读取脚本文件,Zend引擎对脚本文件进行词法分析,语法分析。 3.编译成opcode执行 4.如果安装opcode缓存扩展(如APC, xcache, eAccelerator等),可能直接从缓存中读取opcode执行
唯一Chat
2019/09/10
1.7K0
在Docker中使用nginx托管vue应用程序
首先,我们将使用Vue CLI生成入门Vue应用程序,我们将这个应用命名vue-nginx-docker
公众号: 云原生生态圈
2020/12/31
1.1K0
Python脚本到Windows可执行程序——Cxfreeze的安装与使用
写好的 Python 程序,分发到 Windows 用户的时候,如果再在每一台电脑上配置执行 Python 程序的解释器和相应的依赖库,就会比较繁琐。 所以可以将 Python 程序打包程可执行的 .exe 文件。可以用的库有:cx_freeze,py2exe,PyInstaller。在此介绍 cx_freeze。
全栈程序员站长
2022/11/01
2.4K0
python-docx表格样式列表
python-docx的表格样式如下: 使用方法: table.style='Medium Grid 1 Accent 1' or document.add_table(3,4,style='Medium Grid 1 Accent 1') 表格样式:Normal Table 第1列 第2列 第3列 表格样式:Table Grid 第1列 第2列 第3列 表格样式:Light Shading 第1列 第2列 第3列 表格样式:Light Shading Accen
py3study
2020/01/07
2.2K0
点击加载更多

相似问题

安装python-docx时遇到问题

20

在rails应用程序中使用heroku上的api时遇到问题

10

使用节点- python从托管在python下的web应用程序执行python脚本?

11

**到**托管在Heroku上的Rails应用程序?

50

heroku托管的Rails应用程序的最佳搜索选项?

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文