安装多处理Python3



Python的新事物。我想安装Python的多处理模块。我正在使用Python 3.6和PIP版本9.1。

我遇到了一个错误,这使我相信,由于没有与python 3兼容的多处理模块,以下错误可能发生。

$ pip3 install multiprocessing
Collecting multiprocessing
  Using cached multiprocessing-2.6.2.1.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/8m/2fkldrg12lg0qzlhpm8yvyq00000gn/T/pip-build-dqdczlx9/multiprocessing/setup.py", line 94

因此,我使用PIP安装多处理安装了模块,该多处理安装了模块。我已经在Python 3中编写了很多代码,因此我想使用它,并且正在使用Pycharm Editor,我配置为使用Python3。现在,如果我要执行编辑器中的代码,则会引发错误,例如

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/kkk/Desktop/testing/multiprocessing.py
Traceback (most recent call last):
  File "/Users/testing/multiprocessing.py", line 11, in <module>
    p = multiprocessing.Process(target=worker)
AttributeError: module 'multiprocessing' has no attribute 'Process'
Process finished with exit code 1

代码

    import multiprocessing
def worker():
    """worker function"""
    print ('Worker')
    return
if __name__ == '__main__':
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=worker)
        jobs.append(p)
        p.start()

我该怎么办才能解决这个问题?

谢谢

以来,python 2.6, multiprocessing是一个内置模块。

它与python一起运送,不需要具体的安装步骤。

问题不是在multiprocessing模块上,而是>命名脚本的方式,其中您实际上试图导入multiprocessing模块。您的命名与模块相同,即multiprocessing.py,因此import multiprocessing实际上导入脚本本身,而不是标准库的模块。

这是因为Python在各个位置和特定顺序搜索模块的方式:

  • 包含输入脚本的目录(或未指定文件时的当前目录(。
  • PythonPath(目录名称列表,具有与Shell变量路径相同的语法(。
  • 依赖安装的默认值。

您可以看到,Python正在寻找要导入的模块的第一个位置是包含输入脚本的目录。这就是为什么它在您的情况下导入脚本本身的原因。而且您的脚本不包含您要使用的Process类,这就是为什么您会收到错误AttributeError: module 'multiprocessing' has no attribute 'Process'

,此问题不是multiprocessing模块的特定特定的,任何模块都会发生。因此,不命名您的脚本与要使用的现有模块相同(导入(

是一个好主意。

将您的文件名更改为除多处理以外的任何...您的代码将尝试自我导入。

相关内容

  • 没有找到相关文章

最新更新