easy_install ValueError:错误的编组数据(未知类型代码)

Mar*_*jus 1 python makefile buildout easy-install

我正试图在孤立的环境中进行扩建,我得到了这个错误:

ValueError: bad marshal data (unknown type code)
An error occurred when trying to install djangorestframework-csv 1.3.3. Look above this message for any errors that were output by easy_install.
While:
  Installing django.
  Getting distribution for 'djangorestframework-csv'.
Error: Couldn't install: djangorestframework-csv 1.3.3
make: *** [bin/django] Error 1
Run Code Online (Sandbox Code Playgroud)

我试过谷歌搜索,发现5天前报告了这个完全相同的问题:

https://github.com/mjumbewu/django-rest-framework-csv/issues/18

尝试时也会发生此错误

easy_install djangorestframework-csv==1.3.3
Run Code Online (Sandbox Code Playgroud)

经过一段时间的谷歌搜索后,我发现当出现错误的.pyc文件时会发生此错误.

报告此问题的人说他通过删除pycache解决了这个错误.我尝试搜索pycache并删除所有被调用的文件夹,__pycache__但它没有帮助.任何想法如何解决这个问题?

Mar*_*ers 5

创建发行版的人不小心包含__pycache__了tarball中的目录.

如果您download-cache在buildout 中使用该选项,则可以通过打开下载的djangorestframework-csv-1.3.3.tar.gz文件并删除有问题的目录来解决此问题.

${buildout:download-cache}/dist目录中找到该文件,并在没有违规目录的情况下重新打包它:

tar xzvf djangorestframework-csv-1.3.3.tar.gz
rm -rf djangorestframework-csv-1.3.3/rest_framework_csv/__pycache__/
tar czvf djangorestframework-csv-1.3.3.tar.gz djangorestframework-csv-1.3.3
Run Code Online (Sandbox Code Playgroud)

现在再次运行您的buildout,它将使用固定的缓存文件.

不幸的是,我们不能find-links在这里使用指向固定分布,因为它只会在index(例如默认的PyPI)没有包时使用.