2016-06-14 38 views
0

我得到這個壞元帥數據錯誤,當我嘗試setup.py運行安裝,在python2Python的setuptools的:壞元帥數據

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) 

我setup.py看起來是這樣的:

# -*- 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'])] 
) 
+0

親愛的fccoelho,這個錯誤主要是由於損壞的.pyc文件。你能否以root身份登錄,查找並刪除.pyc文件並重新運行。 找。 -name「* .pyc」-type f -delete .. – DevD

+0

@DevD我已經閱讀了關於這個,所以我運行了下面的命令:「sudo find/usr -name'* .pyc'-delete」,但之後我仍然得到同樣的錯誤 – fccoelho

+0

你是否嘗試過手動進行Epigrass/epimodels.py的cython轉換。 – DevD

回答

1

它只需要一個zip_safe=False參數添加到設置調用。

它現在正常建立。

+0

這個答案很有幫助,但是可以包含一個解釋'zip_safe'標誌的用途。 – SNygard