无法通过pip安装python3软件包

时间:2019-09-04 12:04:34

标签: python python-3.x pip

我目前正从Python 2迁移到Python 3,我发现我使用的其中一个软件包目前仅通过pull-request在Python3中。

因此,我决定检出存储库,并检出请求请求。我检查了一下,此pull-request请求只更新了一个.py文件,其中包含该软件包的所有编码。

然后,我尝试使用pip安装软件包(位于本地计算机上):

python .\Scripts\pip3.exe install --upgrade --no-index --find-links=. C:\Users\DASTe\PycharmProjects\pyosc

但是,出现以下错误:

Looking in links: .
Processing c:\users\date\pycharmprojects\pyosc
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\DASTe\PycharmProjects\DASTeNer\server_py3\python_win32\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\DASTe\\AppData\\Local\\Temp\\pip-req-build-xhcdcl8u\\setup.py'"'"'; __file__='"'"'C:\\Users\\DASTe\\AppData\\Local\\Temp\\pip-req-build-xhcdcl8u\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base pip-egg-info
         cwd: C:\Users\DASTe\AppData\Local\Temp\pip-req-build-xhcdcl8u\
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\DASTe\AppData\Local\Temp\pip-req-build-xhcdcl8u\setup.py", line 5, in <module>
        import OSC
    ModuleNotFoundError: No module named 'OSC'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

此情况发生在软件包中的setup.py文件中。我已经用Google搜索过了,看来在Python 3中,相对导入是使用from . import OSC完成的。但是,当我从setup.py切换该行时,出现另一个错误:

File "C:\Users\DASTe\AppData\Local\Temp\pip-req-build-7g6v4fwu\setup.py", line 5, in <module>
        from . import OSC
    ImportError: cannot import name 'OSC' from '__main__' (C:\Users\DASTe\AppData\Local\Temp\pip-req-build-7g6v4fwu\setup.py)

有什么线索吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

该库自2011年以来似乎没有得到维护。您链接的请求请求尚未得到审查。

短期内,我将从import OSC中删除行setup.py,并将OSC.version替换为("0.3","6", "$Rev: 6382 $"[6:-2]),看是否行得通。

从长远来看,如果您想继续使用该项目,我认为您将必须自己负责维护该项目。