小编Pie*_*one的帖子

Scipy - 稀疏库ImportError:DLL加载失败:%1不是有效的Win32应用程序

我最近一直在将我的编程转移到64位Windows 7机器上,并且已经安装了相关的库.但是我遇到了Scipy - Sparse库的问题.

我已经为windows安装了scipy0.12.0-amd64-py27(因为我的python 2.7安装是64位版本),当直接使用scipy库时,我没有遇到任何错误.例如

import scipy
print scipy.version
Run Code Online (Sandbox Code Playgroud)

回报

<module 'scipy.version' from 'C:\Python27\lib\site-packages\scipy\version.pyc'>
Run Code Online (Sandbox Code Playgroud)

正如所料.

但是在尝试导入稀疏库时,如下所示:

from scipy import sparse
Run Code Online (Sandbox Code Playgroud)

我明白了:

ImportError: DLL load failed: %1 is not a valid Win32 application.
Run Code Online (Sandbox Code Playgroud)

可悲的是,我的知识有限,似乎无法找到相关的解决方案.最接近的是我安装了错误的库,但是如果root scipy库工作正常,我无法理解为什么会这样.

有谁知道这个解决方案?或者直接安装scipy的Windows使用其中一个python包会更好吗?

谢谢

编辑:

以下是错误的回溯:

Traceback (most recent call last):
  File "C:\Users\Piers\Documents\Physics\PhD\Code\Far Time Crank-Nicholson\FarTimeCrankNicholson.py", line 16, in <module>
    from scipy import sparse
  File "C:\Python27\lib\site-packages\scipy\sparse\__init__.py", line 182, in <module>
    from .csr import *
  File "C:\Python27\lib\site-packages\scipy\sparse\csr.py", line 15, in <module>
    from .sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
  File …
Run Code Online (Sandbox Code Playgroud)

python x86-64 scipy importerror

8
推荐指数
1
解决办法
1万
查看次数

使用Python请求库以HTML格式发送Mailgun内联图像

我无法解决如何使用请求库从Python应用程序使用Mailgun api发送多个内联消息的问题.目前我有(使用jinja2作为模板和烧瓶作为web框架,托管在Heroku上):

def EmailFunction(UserEmail):
    Sender = 'testing@test.co.uk'
    Subject = 'Hello World'
    Text = ''
    name = re.sub('@.*','',UserEmail)
    html = render_template('GenericEmail.html', name=name)
    images = []
    imageloc = os.path.join(dirname, 'static')
    images.append(open(os.path.join(imageloc,'img1.jpg')))
    images.append(open(os.path.join(imageloc,'img2.jpg')))
    send_mail(UserEmail,Sender,Subject,Text,html,images)
    return html

def send_mail(to_address, from_address, subject, plaintext, html, images):
    r = requests.\
        post("https://api.mailgun.net/v2/%s/messages" % app.config['MAILGUN_DOMAIN'],
            auth=("api", app.config['MAILGUN_KEY']),
             data={
                 "from": from_address,
                 "to": to_address,
                 "subject": subject,
                 "text": plaintext,
                 "html": html,
                 "inline": images
             }
         )
    return r
Run Code Online (Sandbox Code Playgroud)

因此,电子邮件发送正常,但最后没有图像在电子邮件中.当我点击下载它们时,它们不显示.根据mailgun api在HTML中引用图像(当然简化了!);

<img src="cid:img1.jpg"/>
<img src="cid:img2.jpg"/>
etc ...
Run Code Online (Sandbox Code Playgroud)

显然我做错了,但是我尝试使用requests.files对象附加这些,它甚至没有发送电子邮件并且没有给出任何错误,因此我认为这根本不是正确的方法.

可悲的是,关于此的文档相当稀少.

让HTML直接指向服务器端图像会更好吗?然而,这并不理想,因为服务器端图像通常不会是静态的(有些会,有些则不会).

html python email python-requests mailgun

6
推荐指数
2
解决办法
5627
查看次数

Elementtree设置属性顺序

我正在尝试编写一个python脚本来标准化通用XML文件,用于配置网站和网站表单.但是要做到这一点,我想维护元素的原始属性排序,或者甚至更好地能够以预定义的方式重新排列它们.目前我尝试过的大多数xml解析器都将属性顺序重写为字母数字.由于这些XML文件是人工读/写和维护的,因此这不太有用.

例如,通用元素在XML中可能如下所示;

<Question QuestionRef="XXXXX" DataType="Integer" Text="Question Text" Availability="Shown" DefaultAnswer="X">
Run Code Online (Sandbox Code Playgroud)

但是,一旦通过elementtree并重新写入新文件,这将更改为:

<Question Availability="Shown" DataType="Integer" DefaultAnswer="X" PartType="X" QuestionRef="XXXXX" Text="Question Text">
Run Code Online (Sandbox Code Playgroud)

由于脚本的目标是标准化大量XML文件以增加同事之间的可读性,并且元素属性中包含的信息具有不同的重要性(例如,QuestionRef非常重要),表明属性需要明智地下令.

我理解python dicts(存储在哪些属性中)自然是无序的,XML规范状态属性排序是无关紧要的,但是这个人的可读性因素是脚本背后的驱动力.

在其他问题(在Stack Overflow上)类似于我已经看到它注意到pxdom可以做到这一点(问题链接:链接),但我找不到任何提及如何在pxdom文档或使用谷歌搜索这样做.那么是否有某种方法来维护属性的顺序或使用当前的XML解析器定义它?最好不要求助于hotpatching :)!

任何人都可以提供的帮助将非常感激:).

python xml elementtree

5
推荐指数
1
解决办法
5538
查看次数