Reputation: 6204
I am getting this bad marshal data error when I try to run setup.py install, on python2
running install
running bdist_egg
running egg_info
writing requirements to epigrass.egg-info/requires.txt
writing epigrass.egg-info/PKG-INFO
writing top-level names to epigrass.egg-info/top_level.txt
writing dependency_links to epigrass.egg-info/dependency_links.txt
writing entry points to epigrass.egg-info/entry_points.txt
reading manifest file 'epigrass.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'ez_setup.py'
warning: no files found matching 'INSTALL'
warning: no files found matching 'README'
no previously-included directories found matching 'demos/outdata-*'
no previously-included directories found matching 'docs/source*'
warning: no previously-included files matching '__pycache__' found under directory '*'
writing manifest file 'epigrass.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
running build_ext
creating stub loader for Epigrass/epimodels.so
byte-compiling build/bdist.linux-x86_64/egg/Epigrass/epimodels.py to epimodels.pyc
installing package data to build/bdist.linux-x86_64/egg
running install_data
copying epigrass.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying epigrass.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying epigrass.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying epigrass.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying epigrass.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying epigrass.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
Traceback (most recent call last):
File "setup.py", line 40, in <module>
data_files = [('/usr/share/pixmaps',['egicon.png']),('/usr/share/doc/epigrass/demos',demos),('/usr/share/doc/epigrass/',['docs/build/latex/Epigrass.pdf']),('/usr/share/applications',['epigrass.desktop'])]
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 67, in run
self.do_egg_install()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/install.py", line 109, in do_egg_install
self.run_command('bdist_egg')
File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/bdist_egg.py", line 209, in run
os.path.join(archive_root, 'EGG-INFO'), self.zip_safe()
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/bdist_egg.py", line 245, in zip_safe
return analyze_egg(self.bdist_dir, self.stubs)
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/bdist_egg.py", line 355, in analyze_egg
safe = scan_module(egg_dir, base, name, stubs) and safe
File "/usr/local/lib/python2.7/dist-packages/setuptools/command/bdist_egg.py", line 392, in scan_module
code = marshal.load(f)
ValueError: bad marshal data (unknown type code)
my setup.py looks like this:
# -*- coding:utf8 -*-
from setuptools import setup
from Cython.Build import cythonize
from glob import glob
from Epigrass.__version__ import version
demos = glob('demos/*')
try:
demos.remove('demos/CVS')
except:
pass
setup(name='epigrass',
version=version,
author='Flavio Codeco Coelho, Claudia Torres Codeco',
author_email='[email protected]',
maintainer='Flavio Codeco Coelho',
maintainer_email='[email protected]',
url='http://epigrass.sourceforge.net',
description='Epidemiological Geo-Referenced Analysis and Simulation System',
long_description='EpiGrass is a simulator of epidemics over networks. Its is a scientific tool created for simulations and scenario analysis in Network epidemiology.',
download_url='http://sourceforge.net/project/showfiles.php?group_id=128000',
license='GPL',
packages=['Epigrass'],
install_requires=["numpy >= 1.2", "networkx >= 1.1", "SQLAlchemy >= 0.7", "sqlsoup", "redis >= 2.4", "requests", "cython"],
entry_points={
'console_scripts': [
'epirunner = Epigrass.manager:main',
],
'gui_scripts': [
'epigrass = Epigrass.epigrass:main',
'epgeditor= Epigrass.epgeditor:main',
'neteditor= Epigrass.neteditor:main'
]
},
ext_modules=cythonize('Epigrass/epimodels.py'),
include_package_data=True,
package_data={'': ['INSTALL', 'README', 'COPYING', 'epigrass.desktop', '*.rst', '*.tex', '*.png', '*.jpg']},
data_files = [('/usr/share/pixmaps',['egicon.png']),('/usr/share/doc/epigrass/demos',demos),('/usr/share/doc/epigrass/',['docs/build/latex/Epigrass.pdf']),('/usr/share/applications',['epigrass.desktop'])]
)
Upvotes: 0
Views: 3393
Reputation: 6204
All it needed was a zip_safe=False
argument added to the setup call.
It now builds normally.
Upvotes: 4