"No module named setuptools" 错误,尽管已安装
"No module named setuptools" error, despite it being installed
我正在尝试(但失败了)运行 一个 setup.py 文件来安装 python 包。我尝试安装此软件包的机器是 运行ning 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 终端中导入设置工具,但在 运行 宁 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
setup.sh
脚本在新的 shell 环境中执行,因此它可能使用默认的 Python 解释器,而不是虚拟 Python 解释器=23=]环境。显然,默认的 interpeter 没有安装 setuptools(注意:这可能需要 root 访问权限)。
如果 shell 脚本仅包含您上面提到的四行,您可以通过输入
source setup.sh
或
. setup.sh
请注意,如果脚本还包含其他代码,此解决方案可能无效。
通过“采购”脚本,所有命令都在同一个 shell 中执行(即不启动新的 shell),因此这确保了 Python 解释器来自您的使用虚拟环境。
我正在尝试(但失败了)运行 一个 setup.py 文件来安装 python 包。我尝试安装此软件包的机器是 运行ning 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 终端中导入设置工具,但在 运行 宁 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
setup.sh
脚本在新的 shell 环境中执行,因此它可能使用默认的 Python 解释器,而不是虚拟 Python 解释器=23=]环境。显然,默认的 interpeter 没有安装 setuptools(注意:这可能需要 root 访问权限)。
如果 shell 脚本仅包含您上面提到的四行,您可以通过输入
source setup.sh
或
. setup.sh
请注意,如果脚本还包含其他代码,此解决方案可能无效。
通过“采购”脚本,所有命令都在同一个 shell 中执行(即不启动新的 shell),因此这确保了 Python 解释器来自您的使用虚拟环境。