我最近一直在将我的编程转移到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应用程序使用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直接指向服务器端图像会更好吗?然而,这并不理想,因为服务器端图像通常不会是静态的(有些会,有些则不会).
我正在尝试编写一个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 :)!
任何人都可以提供的帮助将非常感激:).