我尝试安装一些软件包,例如 pycadf。它失败并出现以下错误:
Searching for pycadf>=0.4.1
Reading https://pypi.python.org/simple/pycadf/
Best match: pycadf 0.5.1
Downloading https://pypi.python.org/packages/source/p/pycadf/pycadf-0.5.1.tar.gz#md5=0386d95acb2045231fbcbe12fcaa2779
Processing pycadf-0.5.1.tar.gz
Writing /tmp/easy_install-93QzI3/pycadf-0.5.1/setup.cfg
Running pycadf-0.5.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-93QzI3/pycadf-0.5.1/egg-dist-tmp-DumyVX
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'pbr'
warnings.warn(msg)
warning: install_lib: 'build/lib.linux-x86_64-2.7' does not exist -- no Python modules to install
zip_safe flag not set; analyzing archive contents...
Adding UNKNOWN 0.0.0 to easy-install.pth file
Installed /usr/local/lib/python2.7/dist-packages/UNKNOWN-0.0.0-py2.7.egg
error: Could not find required distribution pycadf>=0.4.1
Run Code Online (Sandbox Code Playgroud)
看起来它从 pypi 获取包,并将其安装为“未知”。并不是每个包裹都会发生这种情况。setuptools-5.5.1 安装在我的环境中。
任何需要解决的输入都会有所帮助。
在python中,我发现上下文管理器确实很有帮助。我试图在Go中找到相同的内容。
例如:
with open("filename") as f:
do something here
Run Code Online (Sandbox Code Playgroud)
其中open是python中的上下文管理器,用于处理进入和退出,这隐式负责关闭打开的文件。
而不是像我们这样显式地做:
f := os.Open("filename")
//do something here
defer f.Close()
Run Code Online (Sandbox Code Playgroud)
可以在Go中完成吗?提前致谢。