导入时未编译Python primefac包

导入时未编译Python primefac包,python,package,syntax-error,prime-factoring,Python,Package,Syntax Error,Prime Factoring,我已经成功地将python模块primefac安装到我的mac和El Capitan OS的开发者框架中。当我调用“import primefac”时,它返回以下错误: File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/primefac.py", line 613 print "\033[1;31m" + (names[g] if g in names else g) +

我已经成功地将python模块primefac安装到我的mac和El Capitan OS的开发者框架中。当我调用“import primefac”时,它返回以下错误:

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/primefac.py", line 613
    print "\033[1;31m" + (names[g] if g in names else g) + "\033[;m"
                     ^
SyntaxError: invalid syntax
我非常怀疑我的primefac.py版本是否有语法错误,因为我多次使用gitHub中的primefac.py替换了该文件


我正在使用Python3.5.2和primefac-1.1。是什么问题导致我的primefac.py无法读取?它可能位于错误的目录中吗?

当前,
primefac
库仅与Python 2兼容——如果要使用它,需要使用Python 2.7:(您使用的是Python 3,这意味着库中的语法将不起作用。

如果您查看分类部分,您将看到此时primefac还没有被移植到python3.x。作为一种替代方法,我可以建议您使用支持python3.x的语法。

我绝对肯定,我的函数没有达到优化的程度作为他们的python2,但我的是python3

这些函数没有检查输入是否是大于1的正整数,或者输入是否是任何其他值。您可以随意添加这些值。实际上,我将以注释形式给出一个示例

它返回一个字典,其中dict.keys是素因子,dict.values是各自素因子的指数

def primeFactors(num):
#尝试:
#如果num!=int(abs(num))或num==1:
#返回{“错误输入错误”:num}
#除:
#返回{“错误输入错误”:num}
素数因子=dict()
i=2
当num>1时:
is_factor=False
当num%i==0时:
如果不是,则为_系数:
素数因子[i]=1
其他:
素数因子[i]+=1
_系数=真吗
num/=i
i+=1
返回素数因子