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 | |
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.
|