python 后台执行执行的时候出现的问题

大家好:
我使用cxfreeze打包生成了一个python的exe程序,在我自己的win7环境下exe程序可以成功运行,在同事的没有python环境的win7环境下也可以成功运行。
但是到了生产环境下运行的时候出现了如下错误:
映像文件有效,但不适用于此计算机类型。
生产环境为windows server2003。
求大牛们给点思路。
问题补充:此exe程序在win xp环境下的错误是:
不是有效的win32 应用程序。
目前还没有答案
已解决问题
未解决问题在安装keystone时执行sudo python setup.py install 出现的问题_百度知道
在安装keystone时执行sudo python setup.py install 出现的问题
error: ['/usr/bin/python', '-m', 'pip.__init__', 'install', 'pbr&=0.5.21,&1.0', 'pam&=0.1.4', 'WebOb&=1.2.3,&1.3', 'eventlet&=0.13.0', 'greenlet&=0.3.2', 'netaddr&=0.7.6', 'PasteDeploy&=1.5.0', 'Paste', 'Routes&=1.12.3', 'six&=1.4.1', 'SQLAlchemy&=0.7.8,&=0.7.99', 'sqlalchemy-migrate&=0.7.2', 'passlib', 'lxml&=2.3', 'iso.8', 'python-keystoneclient&=0.4.1', 'oslo.config&=1.2.0', 'Babel&=1.3', 'oauth2', 'dogpile.cache&=0.5.0'] returned 1linux运行出现的问题,不知道怎么解决?
我有更好的答案
按默认排序
你的错误提示里列出来很多相关系的PYTHON组件,和所需的版本号.你应该先安装错误提示里出现的组件.另外,手工安装keystone所需的组件是相当复杂的,建议你用一键安装工具.如果你一键安装失败了,可能是因为哪项配置没有配好,可以检查一下.
我就是用一键安装的
其他类似问题
python的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
空间积分0 信誉积分102 UID阅读权限20积分259帖子精华可用积分259 专家积分0 在线时间64 小时注册时间最后登录
稍有积蓄, 积分 259, 距离下一级还需 241 积分
帖子主题精华可用积分259 专家积分0 在线时间64 小时注册时间最后登录
论坛徽章:0
python写的
用pyinstaller做的exe
不知道怎么设置让他运行时隐藏界面...
现在这样总有个黑窗口一闪而过
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
空间积分0 信誉积分175 UID153116阅读权限70积分5440帖子精华可用积分5440 专家积分0 在线时间602 小时注册时间最后登录
富足长乐, 积分 5440, 距离下一级还需 2560 积分
帖子主题精华可用积分5440 专家积分0 在线时间602 小时注册时间最后登录
论坛徽章:0
是不是打包的时候没加--windowed参数?
没用过PyInstaller
衡阳学开车找元师傅
[天籁妙,山水雅,醉露为酒玉为花,
若人问我归何处,彩云深处是我家。]
空间积分0 信誉积分102 UID阅读权限20积分259帖子精华可用积分259 专家积分0 在线时间64 小时注册时间最后登录
稍有积蓄, 积分 259, 距离下一级还需 241 积分
帖子主题精华可用积分259 专家积分0 在线时间64 小时注册时间最后登录
论坛徽章:0
原帖由 bleem1998 于
20:21 发表
是不是打包的时候没加--windowed参数?
没用过PyInstaller
不是这个意思....
用py2exe也可以,但是程序运行总有个窗口蹦出来
我想让他只出现一个进程在后台运行...这个怎么做到?
而且不要做成服务那种...
空间积分0 信誉积分175 UID153116阅读权限70积分5440帖子精华可用积分5440 专家积分0 在线时间602 小时注册时间最后登录
富足长乐, 积分 5440, 距离下一级还需 2560 积分
帖子主题精华可用积分5440 专家积分0 在线时间602 小时注册时间最后登录
论坛徽章:0
不太明白你的意思
我写了一个helloworld.py
然后PyInstaller -F -w去编译
双击运行的时候就没有黑框
PyInstaller -F -c编译的就有黑框
衡阳学开车找元师傅
[天籁妙,山水雅,醉露为酒玉为花,
若人问我归何处,彩云深处是我家。]
空间积分0 信誉积分102 UID阅读权限20积分259帖子精华可用积分259 专家积分0 在线时间64 小时注册时间最后登录
稍有积蓄, 积分 259, 距离下一级还需 241 积分
帖子主题精华可用积分259 专家积分0 在线时间64 小时注册时间最后登录
论坛徽章:0
原帖由 bleem1998 于
20:48 发表
不太明白你的意思
我写了一个helloworld.py
然后PyInstaller -F -w去编译
双击运行的时候就没有黑框
PyInstaller -F -c编译的就有黑框
貌似真的呢.....没用gui插件的都是 静默运行了
但是这个为什么一运行就有2个同名进程呢?真奇怪
空间积分0 信誉积分175 UID153116阅读权限70积分5440帖子精华可用积分5440 专家积分0 在线时间602 小时注册时间最后登录
富足长乐, 积分 5440, 距离下一级还需 2560 积分
帖子主题精华可用积分5440 专家积分0 在线时间602 小时注册时间最后登录
论坛徽章:0
那估计是代码的问题了
我机器上不会有黑窗口的
衡阳学开车找元师傅
[天籁妙,山水雅,醉露为酒玉为花,
若人问我归何处,彩云深处是我家。]
空间积分0 信誉积分100 UID阅读权限10积分15帖子精华可用积分15 专家积分0 在线时间9 小时注册时间最后登录
白手起家, 积分 15, 距离下一级还需 185 积分
帖子主题精华可用积分15 专家积分0 在线时间9 小时注册时间最后登录
论坛徽章:0
windows 下 把脚本扩展名改成 .pyw 就ok了
空间积分0 信誉积分210 UID阅读权限100积分13183帖子精华可用积分13184 专家积分0 在线时间995 小时注册时间最后登录
帖子主题精华可用积分13184 专家积分0 在线时间995 小时注册时间最后登录
论坛徽章:1
原帖由 killshen 于
21:45 发表
windows 下 把脚本扩展名改成 .pyw 就ok了
恩,推荐这个。
陈小玉(smallfish)
空间积分0 信誉积分190 UID阅读权限10积分127帖子精华可用积分127 专家积分0 在线时间304 小时注册时间最后登录
白手起家, 积分 127, 距离下一级还需 73 积分
帖子主题精华可用积分127 专家积分0 在线时间304 小时注册时间最后登录
论坛徽章:0
学习了,我也正有此问题
空间积分0 信誉积分116 UID阅读权限20积分541帖子精华可用积分541 专家积分0 在线时间450 小时注册时间最后登录
丰衣足食, 积分 541, 距离下一级还需 459 积分
帖子主题精华可用积分541 专家积分0 在线时间450 小时注册时间最后登录
论坛徽章:0
.....\pyinstaller-1.3\Makespec.py& &your-python-file.py&&--onefile --tk --windowed
加了--windowed 就不会有dos那个黑的窗口了当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。
1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 &SyntaxError :invalid syntax&)
该错误将发生在类似如下代码中:
if spam == 42
print('Hello!')
2)使用 = 而不是 ==(导致&SyntaxError: invalid syntax&)
&= 是赋值操作符而 == 是等于比较操作。该错误发生在如下代码中:
if spam = 42:
print('Hello!')
3)错误的使用缩进量。(导致&IndentationError:unexpected indent&、&IndentationError:unindent does not match any outer indetation level&以及&IndentationError:expected an indented block&)
记住缩进增加只用在以:结束的语句之后,而之后必须恢复到之前的缩进格式。该错误发生在如下代码中:
print('Hello!')
print('Howdy!')
if spam == 42:
print('Hello!')
print('Howdy!')
if spam == 42:
print('Hello!')
4)在 for 循环语句中忘记调用 len() (导致&TypeError: 'list' object cannot be interpreted as an integer&)
通常你想要通过索引来迭代一个list或者string的元素,这需要调用 range() 函数。要记得返回len 值而不是返回这个列表。
该错误发生在如下代码中:
spam = ['cat', 'dog', 'mouse']
for i in range(spam):
print(spam[i])
5)尝试修改string的值(导致&TypeError: 'str' object does not support item assignment&)
string是一种不可变的数据类型,该错误发生在如下代码中:
spam = 'I have a pet cat.'
spam[13] = 'r'
print(spam)
而你实际想要这样做:
spam = 'I have a pet cat.'
spam = spam[:13] + 'r' + spam[14:]
print(spam)
6)尝试连接非字符串值与字符串(导致 &TypeError: Can't convert 'int' object to str implicitly&)
该错误发生在如下代码中:
numEggs = 12
print('I have ' + numEggs + ' eggs.')
而你实际想要这样做:
numEggs = 12
print('I have ' + str(numEggs) + ' eggs.')
numEggs = 12
print('I have %s eggs.' % (numEggs))
7)在字符串首尾忘记加引号(导致&SyntaxError: EOL while scanning string literal&)
该错误发生在如下代码中:
print(Hello!')
print('Hello!)
myName = 'Al'
print('My name is ' + myName + . How are you?')
8)变量或者函数名拼写错误(导致&NameError: name 'fooba' is not defined&)
该错误发生在如下代码中:
foobar = 'Al'
print('My name is ' + fooba)
spam = ruond(4.2)
spam = Round(4.2)
9)方法名拼写错误(导致 &AttributeError: 'str' object has no attribute 'lowerr'&)
该错误发生在如下代码中:
spam = 'THIS IS IN LOWERCASE.'
spam = spam.lowerr()
10)引用超过list最大索引(导致&IndexError: list index out of range&)
该错误发生在如下代码中:
spam = ['cat', 'dog', 'mouse']
print(spam[6])
11)使用不存在的字典键值(导致&KeyError:&spam&&)
该错误发生在如下代码中:
spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'}
print('The name of my pet zebra is ' + spam['zebra'])
12)尝试使用Python关键字作为变量名(导致&SyntaxError:invalid syntax&)
Python关键不能用作变量名,该错误发生在如下代码中:
class = 'algebra'
Python3的关键字有:and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield
13)在一个定义新变量中使用增值操作符(导致&NameError: name 'foobar' is not defined&)
不要在声明变量时使用0或者空字符串作为初始值,这样使用自增操作符的一句spam += 1等于spam = spam + 1,这意味着spam需要指定一个有效的初始值。
该错误发生在如下代码中:
spam += 42
eggs += 42
14)在定义局部变量前在函数中使用局部变量(此时有与局部变量同名的全局变量存在)(导致&UnboundLocalError: local variable 'foobar' referenced before assignment&)
在函数中使用局部变来那个而同时又存在同名全局变量时是很复杂的,使用规则是:如果在函数中定义了任何东西,如果它只是在函数中使用那它就是局部的,反之就是全局变量。
这意味着你不能在定义它之前把它当全局变量在函数中使用。
该错误发生在如下代码中:
someVar = 42
def myFunction():
print(someVar)
someVar = 100
myFunction()
15)尝试使用 range()创建整数列表(导致&TypeError: 'range' object does not support item assignment&)
有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式。然而,你需要记住 range() 返回的是 &range object&,而不是实际的 list 值。
该错误发生在如下代码中:
spam = range(10)
spam[4] = -1
也许这才是你想做:
spam = list(range(10))
spam[4] = -1
(注意:在 Python 2 中 spam = range(10) 是能行的,因为在 Python 2 中 range() 返回的是list值,但是在 Python 3 中就会产生以上错误)
16)不错在 ++ 或者 -- 自增自减操作符。(导致&SyntaxError: invalid syntax&)
如果你习惯于例如 C++ , Java , PHP 等其他的语言,也许你会想要尝试使用 ++ 或者 -- 自增自减一个变量。在Python中是没有这样的操作符的。
该错误发生在如下代码中:
也许这才是你想做的:
17)忘记为方法的第一个参数添加self参数(导致&TypeError: myMethod() takes no arguments (1 given)&)
该错误发生在如下代码中:
class Foo():
def myMethod():
print('Hello!')
a.myMethod()
阅读(...) 评论()1295人阅读
&&前两天理解了unicode、utf-8、gb2312这些编码之间的关系以后,今天终于弄明白了在python里面的编码问题。我们在写python脚本时如果有中文的字符串,在运行的时候有可能会报错也有可能会出现乱码。一般加上# -*- coding:utf-8 -*-就不会报错了,但是还可能有乱码问题,而且同样的代码在不同的编辑器中得出的结果还有可能不一样,你是否也遇到过这些问题而且理不清头绪?希望我的讲解能让你对这个问题有一定的理解。
&&对于python的一个脚本来说有三种编码:
1. 脚本文件的编码
&& &脚本保存时的编码格式,不同的编辑器采用的格式不同会造成一定的混乱,一般是utf-8或者cp936(windows上)
2. python解析器的编码
&& &python默认使用ascci编码,所以如果你的脚本中出现了中文,用ascci编码区解析一定会出错,因为ascci不没有utf-8,cp936里面的中文字符的。所以你要在脚本的第一行加入# -*- coding:utf-8 -*-注释来通知python解析器使用utf-8,但是这个只是通知一下python而不是真的用utf-8的编码区解析这里的中文字符串。例如,你写了一个脚本保存的编码是cp936的,如果不加入注释一定会在运行时报错,因为ascci不包括cp936里面的字符,而你写了第一行的注释就不会报错了因为utf-8中有这个字符,但是字符的含义未必是那个中文,它仅仅是处理一下。这里有个地方需要注意如果你的脚本保存时的编码是utf-8的就不需要第一行的注释,python会正确识别。我个人理解是python只识别utf-8和ansi两种格式的文件,ansi格式的需要明确指出coding,否则python默认使用ascci来处理
3. 运行脚本的环境的编码
&& &如果运行环境的编码格式与脚本文件的格式相同就正确显示,不同就是乱码,因为运行环境会进行解码
还是看看代码吧:
# -*- coding:utf-8 -*- & #如果没有这句会报错,默认的ascci无法解析cp936编码
# cp936编码保存
str = 'abc中文'
#cmd中正确显示,因为cmd是cp936编码
ustr = u'abc中文'
#报错,因为无法用utf-8的格式去对cp936进行解码,
ustr1 = unicode(str, 'cp936') #正确, 因为解码用的编码与文件存储的编码相同
=============================================
# utf-8编码保存
str = 'abc中文'
&& & & #不会报错但是显示为乱码,如果放到cygwin中执行显示正确,因为cygwin的bash是utf-8的
ustr = u'abc中文'
#正确,因为python对utf-8编码的文件默认使用utf-8编码集
print ustr
#正常显示,因为unicode是"通用&的编码集,可以被转化成其他的编码方式
==============================================
# unicode编码保存,实际为utf-16le
str = 'abc'
#报错,因为utf-16的编码会在开头加入 FFFE两个字节,这个时候python会默认使用ascci来处理,因为就算你加了# -*- coding:utf-16 -*- 也没用,因为python还没解析到这句就已经解析失败了
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:115765次
积分:2084
积分:2084
排名:第7387名
原创:67篇
评论:477条
(1)(1)(2)(3)(1)(1)(1)(4)(3)(2)(7)(1)(1)(1)(5)(2)(1)(7)(4)(1)(2)(2)(1)(1)(1)(11)}

我要回帖

更多关于 python编码问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信