如何安装 'glob' 模块?

17

我正在运行Ubuntu 14.04,尝试启动ROS模拟器。但是出现了以下错误:

ImportError: No module named 'glob'

安装 glob2 并不能解决问题。 python -m site 的输出:
sys.path = [
    '/home/omar',
    '/opt/ros/indigo/lib/python2.7/dist-packages',
    '/home/omar/anaconda3/lib/python35.zip',
    '/home/omar/anaconda3/lib/python3.5',
    '/home/omar/anaconda3/lib/python3.5/plat-linux',
    '/home/omar/anaconda3/lib/python3.5/lib-dynload',
    '/home/omar/anaconda3/lib/python3.5/site-packages',
    '/home/omar/anaconda3/lib/python3.5/site-packages/Sphinx-1.4.6-py3.5.egg',
    '/home/omar/anaconda3/lib/python3.5/site-packages/numba-0.29.0-py3.5-linux-x86_64.egg',
    '/home/omar/anaconda3/lib/python3.5/site-packages/glob2-0.4.1-py3.5.egg',
    '/home/omar/anaconda3/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg',
]
USER_BASE: '/home/omar/.local' (exists)
USER_SITE: '/home/omar/.local/lib/python3.5/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

8
glob是一个标准模块。您使用的是哪个版本的Python? - Ry-
Python 3.5.2 一些解决方案建议重新安装Ubuntu,但我把它作为备选计划。 - Omar Amr
1
请包含 python -m site 的输出结果。 - wim
@wim 我已经将它添加到问题中了。 - Omar Amr
2
glob是Python标准库的一部分,因此您无需安装它。 - AmiNadimi
被接受的答案是错误的。请查看被接受答案下面的评论。 - user12311164
6个回答

32

针对Python 2.7:

pip install glob2

针对Python 3.7:

pip3 install glob2


7
出于安全考虑,您真的不应该使用sudo安装软件包。 - Skyler Wiernik
6
即使对于pip3,它仍然是glob2而不是glob3 :-D - J. Tylka
@SkylerWiernik 使用sudo进行安装有哪些安全问题需要注意? - PeJota
2
@PedroMartinez,你正在为安装的软件包提供安装脚本路由访问权限。 如果你安装了恶意软件包(例如通过拼写错误),可能会给黑客完全访问你整个机器的权限。 - Skyler Wiernik

5

针对Python 3,不存在glob3

可以使用以下代码:

sudo pip3 install glob2

4
不应使用sudo pip install命令,可以使用pip3 install package_name命令来安装软件包。 - user12311164

2
在Python 3.10版本中,glob模块已经包含在标准模块列表中。这意味着您不需要安装它。
您可能会遇到此错误,因为您正在使用先前的Python版本。
在这种情况下,请使用
pip3 install glob2

但是请确保您使用以下方式导入它

import glob 
# not import glob2

希望这有所帮助。
祝你编程愉快。

0

0

pip3 install glob2 然后刷新一下 基本上就是这样。 如果你在Python中提到的“全局模块”,可能是指一个可以在整个程序中访问的模块,而不仅限于特定的范围或函数。在Python中,你可以通过在脚本或模块的顶层定义变量、函数或类来创建全局模块。

以下是如何在模块中定义全局变量的示例:

# mymodule.py

global_var = 10

def my_function():
    print("This is a global function.")

class MyClass:
    def __init__(self):
        print("This is a global class.")

在上面的例子中,global_varmy_function()MyClass都可以在整个模块中访问,并且可以在程序的其他部分导入和使用。
要使用在模块中定义的全局变量、函数或类,您可以使用import语句将该模块导入到您的脚本或另一个模块中:
# main.py

import mymodule

print(mymodule.global_var)  # Output: 10

mymodule.my_function()  # Output: This is a global function.

obj = mymodule.MyClass()  # Output: This is a global class.

通过导入mymodule,您可以访问和利用其中定义的全局实体。
希望这对您有所帮助!如果您有任何进一步的问题,请告诉我。

-1

如果您使用Linux发行版,请输入以下命令:

sudo pip install glob2

对于 Python 3:

sudo pip3 install glob2 

如果您使用的是Windows: 打开命令提示符并输入此命令:

pip install glob2

对于 Python 3:

pip3 install glob

你不应该使用sudo安装任何东西,这是一种不良的做法和安全风险。 - gshpychka
我在一些发行版上尝试,并出现了(访问被拒绝)的错误。 - JavadMH13

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接