尽管已安装“没有名为setuptools的模块”错误

时间:2020-07-07 18:49:22

标签: python python-3.x setuptools

我正在尝试(但失败)运行setup.py文件以安装python软件包。我尝试在其上安装此软件包的计算机正在运行Ubuntu 16.04.6 LTS,并且我对Linux OS并不十分熟悉,所以也许我忽略了某些事情。

当我运行setup.py时,遇到以下错误消息。

  File "setup.py", line 3, in <module>
    from setuptools import setup, Extension
ImportError: No module named setuptools

但是,我检查了python的安装,似乎已经安装了setuptools,因为我可以正确导入软件包而没有任何错误。

(bu) kmao:~$ python
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from setuptools import setup, Extension
>>>

我为什么可以在python终端中导入setuptools,但是在运行setup.py脚本时却不能呢?我该如何解决这个问题?

注意:setup.py是从包含以下行的脚本setup.sh中调用的:

python setup.py clean
python setup.py build_ext
python setup.py build_py -c
python setup.py bdist bdist_wheel

1 个答案:

答案 0 :(得分:1)

setup.sh脚本是在新的Shell环境中执行的,因此它可能使用的是默认的Python解释器,而不是虚拟Python环境中的Python解释器。显然,没有为默认的干预者安装setuptools(注意:这可能需要root访问)。

如果shell脚本仅包含您上面提到的四行,则只需输入其中任一行即可简单地“获取”脚本

source setup.sh

. setup.sh

请注意,如果脚本中还包含其他代码,则此解决方案可能也不起作用。

通过“采购”脚本,所有命令都在同一shell中执行(即,无需启动新的shell),因此这确保使用了虚拟环境中的Python解释器。