pip不能安装radiopy

2024-03-28 15:57:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试过了 pip install radiopy

回溯:

C:\Users\олег\Downloads>pip install radiopy
Collecting radiopy
Using cached radio

py-0.6.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\29F0~1\AppData\Local\Temp\pip-build-blxa2oob\radiopy\setup.py, line 23, in <module>
version=get_version('radio.py'),
File "C:\Users\29F0~1\AppData\Local\Temp\pip-build-blxa2oob\radiopy\setup.py
return __version__
NameError: name '__version__' is not defined
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in       
C:\Users\29F0~1\AppData\Local\Temp\pip-build-blxa2oob\radiopy\

我也试过:
easy_install radiopy

回溯:

^{pr2}$

最近,
C:\Users\олег>pip install C:\\Users\\олег\\Downloads\\radiopy-0.6.tar.gz

回溯:

C:\Users\олег>pip install C:\\Users\\олег\\Downloads\\radiopy-0.6.tar.gz
Processing c:\users\олег\downloads\radiopy-0.6.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\29F0~1\AppData\Local\Temp\pip-8evw0uk0-build\setup.py", line 23, in <module>
version=get_version('radio.py'),
File "C:\Users\29F0~1\AppData\Local\Temp\pip-8evw0uk0-build\setup.py", line 19, in get_version
return __version__
NameError: name '__version__' is not defined
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\29F0~1\AppData\Local\Temp\pip-8evw0uk0-build\

我怎么解决这个问题?在


Tags: installpipinpybuildversionlocalsetup
1条回答
网友
1楼 · 发布于 2024-03-28 15:57:07

该模块似乎只支持python2。setup.py包含一个非常可疑的黑客方法来计算__version__变量:

def get_version(filename):
    """Extract __version__ from file by parsing it."""
    with open(filename) as fp:
        for line in fp:
            if line.startswith('__version__'):
                exec(line)
                return __version__

它要做的是找到一个以__version__开头的行,即__version__ = '0.6',然后用exec作为动态代码执行它,这样就可以了。但是在python3中,这个并没有修改局部变量,因此__version__不会在下一行定义。在

即使您修复了这个bug,您也会遇到无数其他bug,因为这个包根本没有Python-3-ready。最简单的解决方案是使用python2。但即便如此,我也不太确定这是否能在Windows上正常工作,因为它是为mplayer/mencoder套件编写的,而且它的代码似乎非常注重Linux/POSIX。在

相关问题 更多 >