由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - Python的script的兼容问题
相关主题
把python当成通用script来学,哪些module需要熟练?python不支持多态
python开发大型软件的可能性如何自学python
问个Python的问题关于python的优势
Python and C/C++ Question别人说做Python的并行还不如去学C++,我不同意。
python module build problem:请教python
python要把@当作矩阵乘法算符为什么Python巨慢无比?
Python的问题请不要盲目崇拜FP语言
[合集] scipy还是matlabjava很快吗?比python 能快多少?
相关话题的讨论汇总
话题: psse话题: python话题: c++话题: dyn话题: chop
进入Programming版参与讨论
1 (共1页)
s****h
发帖数: 921
1
我有2个script文件:
psse_dyn.py,里面定一个function psse_dyn()
psse_chop.py,里面定一个function psse_chop()
我在另外一个Python script里调用任何一个都可以运行.
调用:
import psse_chop
psse_chop.psse_chop()
或者:
import psse_dyn
ierr=psse_dyn.psse_dyn()
二个都没问题.
可是如果同时做:
import psse_dyn
ierr=psse_dyn.psse_dyn()
import psse_chop
psse_chop.psse_chop()
运行到psse_chop.psse_chop()就出错。
据说psse_dyn和psse_chop里的函数不是我写的。
好像psse_dyn是用Visual Studio VC++8做的;而psse_chop涉及到numpy,与Visual
Studio VC++8不兼容。
遇到这种问题,有解决办法没有?
谢谢!
a**a
发帖数: 416
2
先搞清楚出错的根源吧。不知道错误的根源,谁也帮不了你。

【在 s****h 的大作中提到】
: 我有2个script文件:
: psse_dyn.py,里面定一个function psse_dyn()
: psse_chop.py,里面定一个function psse_chop()
: 我在另外一个Python script里调用任何一个都可以运行.
: 调用:
: import psse_chop
: psse_chop.psse_chop()
: 或者:
: import psse_dyn
: ierr=psse_dyn.psse_dyn()

s****h
发帖数: 921
3
谢谢回复。
这2个script里都用到一个商业软件提供的module,但module不同,一个是module_A,
另一个是module_B。
根据商业软件公司技术支持的说明:
module_A is compiled with Visual Studio VC++8;The numpy program
which module_B uses is not compiled with Visual Studio VC++8. That's why
they cannot work from the same Python script.
他们还建议我:
I guess you could call these two separate python scripts from third Python
script. That might work. I have not tried that.
现在我试着把module_A和module_B放到2个script去,再用第三个script调用,就会提
示出错:“Pythonw.exe encounters a problem”
我觉得很奇
a**a
发帖数: 416
4
我前不久自己编译了一次numpy, 恰好知道这个。Python2.5是用VC7.1(2003)编译的,
它的runtime用的是MSVCR71.DLL。如果真如商业手册所言,可能是runtime冲突所致。
所以您只好在分别的进程里使用, 而不是在同一个script里使用。

【在 s****h 的大作中提到】
: 谢谢回复。
: 这2个script里都用到一个商业软件提供的module,但module不同,一个是module_A,
: 另一个是module_B。
: 根据商业软件公司技术支持的说明:
: module_A is compiled with Visual Studio VC++8;The numpy program
: which module_B uses is not compiled with Visual Studio VC++8. That's why
: they cannot work from the same Python script.
: 他们还建议我:
: I guess you could call these two separate python scripts from third Python
: script. That might work. I have not tried that.

s****h
发帖数: 921
5
谢谢你的说明。
你能详细讲讲吗?
可以在Python里实现多进程?二个进程里分别调用不同的module.
不过在我的算法里,这2个module有逻辑上的依存关系,需要多次运行:B module需要A
module的计算结果,A module的计算输入又依赖于B module的计算结果。
A -> B ->A ->B........->A ->B
a**a
发帖数: 416
6
用进程间通讯模块。可以设计成父子进程,通过管道或者socket套接字通讯。Python
有现成的module可用。还可以通过内存映像文件mmap来通讯。

A

【在 s****h 的大作中提到】
: 谢谢你的说明。
: 你能详细讲讲吗?
: 可以在Python里实现多进程?二个进程里分别调用不同的module.
: 不过在我的算法里,这2个module有逻辑上的依存关系,需要多次运行:B module需要A
: module的计算结果,A module的计算输入又依赖于B module的计算结果。
: A -> B ->A ->B........->A ->B

s****h
发帖数: 921
7
arya,你说你自己编译了一次numpy.
请问可以得到source file of nympy?
有个技术支持的人告诉我:
他们的软件是用VC++8编译的,所以跟nympy不兼容.
如果我能用VC++8编译一下numpy,就可以了.
他说:
our program is compiled with Visual Studio VC++8. The numpy program
is not compiled with Visual Studio VC++8. That's why
they cannot work from the same Python script.
If you have access to numpy source and know how to build it, you can
build that using Visual Studio VC++ 8 compiler. That will be compatible
with our program.
s****h
发帖数: 921
8
我现在需要在我的Python程序里调用一个第三方的程序.
他们的程序是用VC++8编译的,跟numpy不兼容.
而我需要做一些科学计算,如果不用numpy,就会非常麻烦.
a**a
发帖数: 416
9
numpy是自由软件,可以免费得到源码。不过我不太明白为什么VC++8编译出来的
不兼容numpy. numpy为了兼容Python, 强调使用和Python一致的编译器,就是
VC7.1(2003). 但是你的商业程序能在Python中单独调用,说明两者没有冲突。
所以问题可能出在别的地方...

【在 s****h 的大作中提到】
: arya,你说你自己编译了一次numpy.
: 请问可以得到source file of nympy?
: 有个技术支持的人告诉我:
: 他们的软件是用VC++8编译的,所以跟nympy不兼容.
: 如果我能用VC++8编译一下numpy,就可以了.
: 他说:
: our program is compiled with Visual Studio VC++8. The numpy program
: is not compiled with Visual Studio VC++8. That's why
: they cannot work from the same Python script.
: If you have access to numpy source and know how to build it, you can

s****h
发帖数: 921
10
谢谢。
据技术支持说:这个商业程序用VC++8编译的;他没说Numpy是用什么编译的,但很肯定
地说二者不兼容,所以二者可以分别在Python里调用,却不能同时调用。
这么说我可以得到Numpy的源码,用VC++8编译一下,就能使用?
请问哪里可以下载源码?
我在这个地方,只发现安装文件:
http://claymore.engineer.gvsu.edu/~steriana/Python/

【在 a**a 的大作中提到】
: numpy是自由软件,可以免费得到源码。不过我不太明白为什么VC++8编译出来的
: 不兼容numpy. numpy为了兼容Python, 强调使用和Python一致的编译器,就是
: VC7.1(2003). 但是你的商业程序能在Python中单独调用,说明两者没有冲突。
: 所以问题可能出在别的地方...

s****h
发帖数: 921
11
写错了,网址是:
http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103
前面贴的那个是Pymat.
a**a
发帖数: 416
12
里面的numpy*.tar.gz就是源码。install的instruction可以看www.scipy.org里的内容。

【在 s****h 的大作中提到】
: 写错了,网址是:
: http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=175103
: 前面贴的那个是Pymat.

r****t
发帖数: 10904
13
这建议真是白痴啊,连我都知道他们说瞎话,照他们说的根本不可能work。

【在 s****h 的大作中提到】
: 谢谢回复。
: 这2个script里都用到一个商业软件提供的module,但module不同,一个是module_A,
: 另一个是module_B。
: 根据商业软件公司技术支持的说明:
: module_A is compiled with Visual Studio VC++8;The numpy program
: which module_B uses is not compiled with Visual Studio VC++8. That's why
: they cannot work from the same Python script.
: 他们还建议我:
: I guess you could call these two separate python scripts from third Python
: script. That might work. I have not tried that.

1 (共1页)
进入Programming版参与讨论
相关主题
java很快吗?比python 能快多少?python module build problem:
易写性,易维护和执行效率综合来看python要把@当作矩阵乘法算符
有人上Spark用python API的么Python的问题
从心底讨厌scala[合集] scipy还是matlab
把python当成通用script来学,哪些module需要熟练?python不支持多态
python开发大型软件的可能性如何自学python
问个Python的问题关于python的优势
Python and C/C++ Question别人说做Python的并行还不如去学C++,我不同意。
相关话题的讨论汇总
话题: psse话题: python话题: c++话题: dyn话题: chop