Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ImportError:没有名为Cython.Distutils的模块_Python_Importerror_Enthought - Fatal编程技术网

Python ImportError:没有名为Cython.Distutils的模块

Python ImportError:没有名为Cython.Distutils的模块,python,importerror,enthought,Python,Importerror,Enthought,我在尝试使用Python库的setup.py文件安装Python库zenlib时遇到了一个奇怪的问题。当我运行setup.py文件时,我得到一个导入错误,即 ImportError:没有名为Cython.Distutils的模块` 但我确实有这样一个模块,我可以在python命令行上导入它,而不会遇到任何麻烦。为什么会出现此导入错误 我认为问题可能与我使用的是我事先安装好的Python2.7,而不是Ubuntu12.04附带的Python2.7有关 更多背景: 下面正是我在尝试运行setup.p

我在尝试使用Python库的
setup.py
文件安装Python库
zenlib
时遇到了一个奇怪的问题。当我运行
setup.py
文件时,我得到一个导入错误,即

ImportError:没有名为Cython.Distutils的模块`

但我确实有这样一个模块,我可以在python命令行上导入它,而不会遇到任何麻烦。为什么会出现此导入错误

我认为问题可能与我使用的是我事先安装好的Python2.7,而不是Ubuntu12.04附带的Python2.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
#from distutils.core import setup
from setuptools import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import os.path
我通过编辑
~/.bashrc
,在bash$PATH环境变量前面加上以下内容,以确保默认情况下运行的是Enthound Python发行版,而不是Ubuntu附带的Python:

export PATH=/usr/local/epd/bin:$PATH
事实上,
哪条python
吐出了
/usr/local/epd/bin/python
。。。不知道还有什么可以尝试的,我进入了我的站点包目录(
/usr/local/epd/lib/python2.7/site-packages
)并向
Cython
Distutils
build\u ext.py
、以及
\uu init\uuuuuuuuu.py
文件授予完全权限(r、w、x)。可能是愚蠢的尝试,但它并没有改变什么


想不出下一步该做什么!?有什么想法吗?

在CLI python中,导入sys并查看sys.path中的内容

然后尝试使用导出PYTHONPATH=whatyouget

你的sudo没有得到正确的python。这是Ubuntu中sudo的已知行为。有关更多信息,请参见此。您需要确保sudo调用了正确的python,或者使用完整路径:

sudo /usr/local/epd/bin/python setup.py install
或者通过执行以下操作(在bash中):

只需从安装Cython即可 并使用此命令安装它

sudo python setup.py install
然后运行命令

sudo python -c 'import Cython.Distutils'

它将被安装,错误信息将消失。

我只给你一个建议:创建一个virtualenv。这将确保您只有一个python版本,并且所有软件包都安装在本地(而不是整个系统上)。
应该是解决方案之一。

运行

哪个python

这也是系统默认的python路径 然后转到@tiago的方法:

sudo setup.py安装

安装Cython:

pip install cython
这很容易

您可以先尝试
安装cython
软件包

它将升级您的简易安装内置python。

供python3使用

sudo apt-get install cython3
供蟒蛇使用

sudo apt-get install cython

有关详细信息,请访问

,运行以下命令可以解决我在ubuntu 14.04中遇到的问题:

sudo apt-get install python-dev    
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libsystemd-daemon-dev
sudo pip install cython

这个链接帮助了我:

在现代又遇到了这个问题。解决办法很简单:

pip uninstall cython && pip install cython

我依赖于Cython上的第三方库,由于导入恐怖,我无法在Travis上构建项目。如果有人需要,请在安装requirements.txt之前运行以下命令:

pip install Cython--install option=“--无Cython编译”


安装GCC也可能会有所帮助。

读了上千个这样的线程,终于在python3中找到了它。(如果您进行了此类安装,请将pip替换为pip3;如果您在运行这些解决方案之前尝试过其他解决方案,请运行
pip uninstall cython

Mac:

Ubuntu

sudo apt-get install cython3 python-dev  
pip install --upgrade cython
Windows(路径中必须有conda和MinGW)


我想不出任何东西,但是你的
sys.path
中有什么?
sudo python-c'import Cython.Distutils'
有效吗?我的实验得到了同样的结果,我在ubuntu 12-04、Cython、numpy、scipy上安装了python 2.7。同一错误回溯(最近一次调用上次):文件“setup.py”,第4行,从Cython.Distutils导入生成\u ext ImportError:没有名为Cython.Distutils的模块。这些答案似乎都没有解决这个问题。亲爱的专家帮忙!!!对于通过谷歌找到这个的人:
sudoapt-get-install-python-dev;sudo pip install cython
我发布这个问题已经有一段时间了,但这确实是我解决问题的方法。最近的一篇帖子提醒我,它仍然开放。使用@user91279的建议为您找到正确的路径。这对我来说很有效,但对cython[0.22]的最新版本无效,但对之前的版本0.21.2有效。该解决方案针对的包没有明确地将
cython
包含在其依赖项列表中,或者没有正确管理其依赖项(在我的例子中是0.1.1).我需要python开发人员来制作python库头谢谢!我在Windows10WSL上使用DebianBuster,在这个特定的例子中,这就是解决方案
pip uninstall cython && pip install cython
brew install cython
pip install --upgrade cython
sudo apt-get install cython3 python-dev  
pip install --upgrade cython
conda install cython
conda install --upgrade cython