我在尝试zenlib
使用其setup.py
文件安装Python库时遇到了一个奇怪的问题.当我运行该setup.py
文件时,我收到导入错误,说
ImportError:没有名为Cython.Distutils`的模块
但我确实有这样一个模块,我可以在python命令行上导入它,没有任何麻烦.为什么我会收到此导入错误?
我认为问题可能与我使用Enthought Python Distribution这个事实有关,我事先安装了它,而不是使用Ubuntu 12.04附带的Python 2.7.
更多背景:这正是我在尝试运行setup.py时得到的:
enwe101@enwe101-PCL:~/zenlib/src$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py", line 4, in <module>
from Cython.Distutils import build_ext
ImportError: No module named Cython.Distutils
Run Code Online (Sandbox Code Playgroud)
但它可以从命令行工作:
>>> from Cython.Distutils import build_ext
>>>
>>> from fake.package import noexist
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named fake.package
Run Code Online (Sandbox Code Playgroud)
请注意第一个导入工作,第二个导致错误.将其与setup.py的前几行进行比较:
#from distutils.core import setup
from setuptools import setup
from …
Run Code Online (Sandbox Code Playgroud) 我从https://www.enthought.com/products/epd/free/下载了Enthought Canopy EPD Free(现在的Canopy Express)并想安装SciKit Learn(http://sourceforge.net/projects/scikit-learn/files /)这不是基本EPD免费安装的一部分.
尝试安装时,在Windows注册表中找不到Python.如何调整注册表以便它识别Python的Enthought版本?
我在Ubuntu 10.10 x64中的Enthought Python Distribution(Python 2.6.6)下使用PyAudio.
>>> import pyaudio
>>> pa = pyaudio.PyAudio()
>>> pa.get_default_input_device_info()
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
pa.get_default_input_device_info()
File "/usr/lib/python_epd/lib/python2.6/site-packages/pyaudio.py", line 936, in get_default_input_device_info
device_index = pa.get_default_input_device()
IOError: No Default Input Device Available
Run Code Online (Sandbox Code Playgroud)
如果我尝试打开输入流,这是我得到的相同错误.存在相应的错误"IOError:No Default Output Device Available"
我使用Enthought的python发行版作为研究生进行数据分析,并且非常喜欢它.但我最近接受了一项工作,这剥夺了我使用它的能力.
我更喜欢Python用于初始范围和清理数据,而R用于统计数据.想要这个的一部分动力就是尝试大熊猫.而其他部分是我没有适当的许可证(或支付手段),这显然是一个问题.
那么,有没有其他的一些好放在一起容易安装Python发行,我可以得到numpy
,scipy
,sci-kits
,和所有其他的善良?
这是我所追求的MWE,改编自这个问题:
from matplotlib.pyplot import plot, draw, show
def make_plot():
plot([1,2,3])
draw()
print 'continue computation'
print('Do something before plotting.')
# Now display plot in a window
make_plot()
answer = raw_input('Back to main and window visible? ')
if answer == 'y':
print('Excellent')
else:
print('Nope')
show()
Run Code Online (Sandbox Code Playgroud)
我想要的是:我调用函数来创建绘图,出现绘图窗口,然后我回到提示符,这样我就可以输入一些值(基于刚才显示的图像)并继续执行代码(窗口可以关闭或保持在那里,我不在乎).
我得到的是,带有绘图的窗口仅在代码完成后出现,这是不好的.
我尝试了以下相同的结果,绘图窗口出现在代码的末尾而不是之前:
from matplotlib.pyplot import plot, ion, draw
ion() # enables interactive mode
plot([1,2,3]) # result shows immediately (implicit draw())
# at the end call show to ensure window …
Run Code Online (Sandbox Code Playgroud) 我的Ubuntu系统上的pip安装包的默认位置是'/usr/local/lib/pytho2.7/dist-packages/',我认为这是默认的.我正在使用Enthought python发行版(EPD而不是canopy),并且想要将一个包安装到EPD中,因为我通常使用来自我系统上的EPD发行版的python.我想知道EPD中的哪个目录需要使用pip安装新文件; 因为linux上EPD的目录结构似乎与MAC OS上的EPD目录结构完全不同,因为在那里似乎有很多例子.
我也遇到过这个问题:
pip install --install-option="--prefix=$PREFIX_PATH" package_name
Run Code Online (Sandbox Code Playgroud)
作为类似这个问题的公认答案.我想知道$ PREFIX_PATH环境变量的目的是什么,因为我的目前是空白的.我需要在Ubuntu上为我的Enthought EPD发行版指定安装python模块的路径.
我为这个相对天真的问题道歉,但我对ubuntu上的EPD很新,我仍然想弄明白.
我正在使用Enthought的Canopy/EPD版本的python,它附带了与MKL相关联的numpy.我目前在我的工作计算机(Windows 7,四核i5 @ 3.33 Ghz,4 GB RAM)和我的家庭工作站(Mac Pro 3.1,Ubuntu 12.04,2x四核Xeon)上并行运行一组模拟(使用PP) @ 2.8 Ghz,6 GB ram).
但是当我对我的模拟进行基准测试时,它们在工作计算机上的运行速度要快得多(每次迭代35秒,而在mac pro上为60秒).问题是核心(易并行问题)之间完美的平衡,所以我怀疑是家里的Linux工作站上的MKL库的问题.有没有办法验证MKL库实际上是否在python中使用.我已经读过线程,说你可以检查python是否链接到它,但它不能确保它是正确构建的并且实际上正在使用.
我一直在研究sympy和scipy,但是找不到或弄清楚如何求解耦合微分方程组(非线性,一阶).
那么有没有办法解决耦合微分方程?
方程的形式如下:
V11'(s) = -12*v12(s)**2
v22'(s) = 12*v12(s)**2
v12'(s) = 6*v11(s)*v12(s) - 6*v12(s)*v22(s) - 36*v12(s)
Run Code Online (Sandbox Code Playgroud)
初始条件为v11(s),v22(s),v12(s).
我今天在Mac OSX 10.5.8上下载了Eclipse(3.5.2)的Pydev插件.为了能够使用Pydev,我需要在Eclipse中配置解释器.我不清楚我到底需要做什么,或者这一步做了什么.我想确保当我使用Pydev从Eclipse运行程序时,它使用我安装的Enthought Python Distribution(EPD),并且可以使用EPD附带的所有软件包.有人可以告诉我我需要遵循的简单步骤.
如果我点击autoconfig,它会显示一堆带路径的文件夹
/System/Library/Frameworks/Python.Framework/Versions/2.5/...
但我知道EPD附带的Python是版本2.6.4,因此autoconfig不会选择EPD.
谢谢你的帮助.
更新 - 解决方案
如果其他人有兴趣学习如何操作,请参阅下面mlvljr的答案中的第一个链接.使用那里的解决方案除了解决方案中建议的Shift + Cmd + G,没有帮助我在Python.app包中看到.要查看它,请使用Finder中的"齿轮"下拉菜单,然后选择"显示包装内容"
用于Python的Chaco绘图工具包包含显示如何动态更新现有绘图的示例.但是,我的应用程序要求我根据数据动态创建和销毁绘图.我是Chaco和Traits编程的新手,所以一个简单的例子说明了如何做到这一点真的很有帮助.