安装多处理python3

安装多处理python3,python,python-3.x,multiprocessing,Python,Python 3.x,Multiprocessing,对Python来说是相当陌生的。我想安装python的多处理模块。我使用的是python 3.6和pip 9.1版 我得到一个错误,这使我相信,由于没有一个多处理模块与Python3兼容,下面的错误可能会发生 $ pip3 install multiprocessing Collecting multiprocessing Using cached multiprocessing-2.6.2.1.tar.gz Complete output from command python s

对Python来说是相当陌生的。我想安装python的多处理模块。我使用的是python 3.6和pip 9.1版

我得到一个错误,这使我相信,由于没有一个多处理模块与Python3兼容,下面的错误可能会发生

$ 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
我能做些什么来解决这个问题


谢谢

因为Python2.6,
多处理
是一个内置模块


它与Python一起提供,不需要特定的安装步骤。

将文件名更改为除multiprocessing.py以外的任何文件名。。。
您的代码将尝试导入自身。

问题不在于
多处理
模块,而在于您实际尝试导入
多处理
模块的脚本命名方式。您将其命名为与模块相同的名称,即
multiprocessing.py
,因此
import multiprocessing
实际上导入脚本本身,而不是标准库的模块

这是因为在不同的位置和特定的顺序:

  • 包含输入脚本的目录(或未指定文件时的当前目录)
  • (目录名列表,语法与shell变量PATH相同)
  • 与安装相关的默认设置
如您所见,Python寻找要导入的模块的第一个位置是包含输入脚本的目录。这就是为什么它会在您的案例中导入脚本本身。并且您的脚本不包含您试图使用的
进程
类,这就是为什么会出现错误
属性错误:模块“多处理”没有属性“进程”


这个问题并不特定于
多处理
模块,它会发生在任何模块上。因此最好不要将脚本命名为与要使用的现有模块相同的名称(导入)

它是标准库的一部分;您已经安装了它。您的代码运行时没有任何问题。看起来您正在从
/Users/testing/multiprocessing.py
导入看起来不像公共路径的
多处理
模块。。。您确定要导入正确的文件吗?您可以发布该文件吗?您将代码文件命名为与要导入的模块相同的名称。然后导入代码文件。只要重新命名你的文件,它就会工作。谢谢大家@KlausD。文件名似乎是问题所在。我可以接受这个答案。嗯,我希望从编译器那里得到更好的错误消息,但无论如何还是要感谢。在OP的情况下,无论
多处理
模块是标准库的一部分还是第三方软件包,他都会遇到同样的问题。
/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()