我正在尝试使用标准从Ubuntu终端调用以下Python脚本
python rosen.py
但它失败了。我可以在idle中点击F5
,它工作得很好,但是当从终端调用时它失败了。rosen.py
的代码如下:
from scipy.optimize import fmin
def rosen(x):
b=sum(100.0*(x[1:]-x[:-1]**2.0)**2.0 + (1-x[:-1])**2.0)
print b
return b
x0 = [1.3, 0.7, 0.8, 1.9, 1.2]
xopt = fmin(rosen, x0, xtol=1e-8)
print xopt
同样,当在空闲状态下运行时,它工作得很好,但是当从终端调用它时,它说scipy不存在。。。在
我可以在终端或空闲状态下运行以下numpy代码,它可以正常工作:
^{pr2}$它将在终端窗口或空闲窗口中打印,具体取决于调用它的位置。在
基本上,我怎样才能得到罗森.py导入SciPy并在从Ubuntu终端调用时运行??在
非常感谢你的帮助。在
你有吗
在文件的顶部来标识python解释器的位置?并使用
^{pr2}$那么在Ubuntu下,任何一个命令都适用于我:
或者
(如果您希望能够在命令行上首先运行不需要键入
python
的脚本,chmod
是可选的。python rosen.py
将在不使用chmod
的情况下工作)由于您已经在脚本中导入了scipy,所以我不确定我是否理解问题的这一部分。在
在我看来,
idle
版本指向的python实现与路径中的第一个不同。尝试以下操作(从命令行而不是python):以及:
^{pr2}$路径相同吗?如果不是,那可能是你的问题。要解决这个问题,根据您的系统设置,您可以重新排序您的路径以获得要调用的python的正确版本,或者您可以在路径的早期某个位置创建指向正确python实现的符号链接。在
相关问题 更多 >
编程相关推荐