我猜这个问题(Import not Working)的含义如下,而且很有趣:
库 A 和 B 实际上是grequest和多处理。(我听说)grequest 修补套接字,但多处理不能使用修补版本。
我想使用两个库 A 和 B。问题是库 A 内部导入了库 C 的修补版本,但库 B 内部导入了库 C 的未修补版本。
库A.py:
import numpy as np
def f():
print("patched")
np.array = f
库B.py:
import numpy as np
def g():
return np.array([1,2,3])
我的程序.py:
import libraryA
import libraryB
libraryB.g()
结果(python3 my_program.py):
Traceback (most recent call last):
File "my_program.py", line 3, in <module>
libraryB.g()
File ".../test/libraryB.py", line 3, in g
return np.array([1,2,3])
TypeError: f() takes 0 positional arguments but 1 was given
问题:
libraryB 应该使用 numpy 的未修补版本,但它使用的是修补版本,因此 my_program.py 中的 libraryB.g() 中断。如何修复 -this- ?