描述错误
我在一台客户端机器上工作,无法访问外部服务器。因此,我必须从Python网站下载包并提取zip文件,并且必须通过在命令提示符中传递命令python setup.py install
将包安装在我的机器中。前两个包(Selenium
和urllib3
(在我的机器中运行良好,设置也很好。
我已尝试安装Pytest Pypi
,但这需要setuptools-scm
。所以我下载了setuptools-scm
软件包,并尝试安装它,但我得到了一个错误ValueError: Zip does not support timestamps before 1980
。
预期行为
Setuptools-scm
应安装
复制
- 从下载
setuptools-scm
软件包https://pypi.org/project/setuptools-scm/ - 提取zip文件并通过运行
python setup.py install
安装setuptools-scm
- 观察错误
ValueError: Zip does not support timestamps before 1980
命令提示符响应:
File "C:Program FilesPython 3.8libzipfile.py", line 360, in __init__
raise ValueError('ZIP does not support timestamps before 1980')
ValueError: ZIP does not support timestamps before 1980
在我的案例中,这是因为文件上的最后一次修改日期是1970年1月1日。我只需触摸所有文件,即可将上次修改的文件更新到今天,一切正常。
$ touch `find . -type f`
我在python3.9中得到了这个错误。我可以通过在Lib
文件夹(..PythonPython39Lib
(内的zipfile.py
中将strict_timestamps
的所有实例从True
更改为False
(即strict_timestamps=False
(来解决此问题。参考
我也收到了这个错误。这是因为我使用";WinRAR";为了解压缩包(*.tar.gz(,很多文件上都没有日期。然后我使用cmd工具和命令tar -zxvf *.tar.gz
来解压缩这个包,问题就解决了。
我注意到src/setuptools_scm/中的文件没有创建或修改日期的时间戳。我只是在文本编辑器中打开这些文件,并在没有更改的情况下保存它们以建立时间戳。
之后,>python/setup.py安装工作正常。