首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"No module named setuptools“错误,尽管它已安装

"No module named setuptools“错误,尽管它已安装
EN

Stack Overflow用户
提问于 2020-07-08 02:49:23
回答 1查看 255关注 0票数 1

我正在尝试(但失败了)运行setup.py文件来安装python包。我尝试安装这个包的机器运行的是Ubuntu 16.04.6 LTS,而我对linux操作系统不是很熟悉,所以可能我忽略了什么。

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

代码语言:javascript
运行
复制
  File "setup.py", line 3, in <module>
    from setuptools import setup, Extension
ImportError: No module named setuptools

然而,我检查了我的python安装,它似乎安装了setuptools,因为我可以正确地导入包,没有错误。

代码语言:javascript
运行
复制
(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中调用的:

代码语言:javascript
运行
复制
python setup.py clean
python setup.py build_ext
python setup.py build_py -c
python setup.py bdist bdist_wheel
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-08 04:03:17

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

如果shell脚本只包含您上面提到的四行,那么您可以通过输入以下两个命令之一来“源”该脚本

代码语言:javascript
运行
复制
source setup.sh

代码语言:javascript
运行
复制
. setup.sh

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62781965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档