我正试图在孤立的环境中进行扩建,但我得到了这个错误:
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
我尝试使用谷歌搜索,发现5天前报告了这个完全相同的问题:
https://github.com/mjumbewu/django-rest-framework-csv/issues/18
尝试
时也会发生此错误easy_install djangorestframework-csv==1.3.3
经过一段时间的谷歌搜索后,我发现当出现错误的.pyc文件时会发生此错误。
报告此问题的人说,他通过删除pycache解决了这个错误。我尝试搜索pycache并删除所有名为__pycache__
的文件夹,但它没有帮助。任何想法如何解决这个问题?
答案 0 :(得分:5)
任何人在tarball中意外地创建了分发包含 __pycache__
目录。
如果您在buildout中使用download-cache
选项,则可以通过打开已下载的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
现在再次运行你的buildout,它将使用固定的缓存文件。
不幸的是,我们不能在这里使用find-links
来指向固定分布,因为它只会在index
(例如默认的PyPI)没有包时使用。