2013-11-16 3 views
0

До сих пор я выполнил полную деинсталляцию и переустановку python, pylab и numpy. Я запускаю python версии 2.5.4. Я пытаюсь импортировать pylab и numpy в набор проблем. Я работаю над MIT Open Courseware. Введение в 600. Вот ошибка, которую я получаю при запуске программы.Python pylab ImportError: ошибка загрузки DLL Windows 7 64 бит

Traceback (most recent call last): 
    File "C:\Users\robert\Desktop\programming\python\MIT open courseware\PS8\ps8\ps8.py", line 11, in <module> 
    import pylab 
    File "C:\Python25\lib\site-packages\pylab.py", line 1, in <module> 
    from matplotlib.pylab import * 
    File "C:\Python25\lib\site-packages\matplotlib\pylab.py", line 216, in <module> 
    from matplotlib import mpl # pulls in most modules 
    File "C:\Python25\lib\site-packages\matplotlib\mpl.py", line 1, in <module> 
    from matplotlib import artist 
    File "C:\Python25\lib\site-packages\matplotlib\artist.py", line 6, in <module> 
    from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPath 
    File "C:\Python25\lib\site-packages\matplotlib\transforms.py", line 34, in <module> 
    from matplotlib._path import affine_transform 
ImportError: DLL load failed: The specified module could not be found. 

И вот код, если необходимо.

# 6.00 Problem Set 8 
# 
# Name: 
# Collaborators: 
# Time: 



import numpy 
import random 
import pylab 
from ps7 import * 

# 
# PROBLEM 1 
# 
class ResistantVirus(SimpleVirus): 

    """ 
    Representation of a virus which can have drug resistance. 
    """  

    def __init__(self, maxBirthProb, clearProb, resistances, mutProb): 

     """ 

     Initialize a ResistantVirus instance, saves all parameters as attributes 
     of the instance. 

     maxBirthProb: Maximum reproduction probability (a float between 0-1)   
     clearProb: Maximum clearance probability (a float between 0-1). 

     resistances: A dictionary of drug names (strings) mapping to the state 
     of this virus particle's resistance (either True or False) to each drug. 
     e.g. {'guttagonol':False, 'grimpex',False}, means that this virus 
     particle is resistant to neither guttagonol nor grimpex. 

     mutProb: Mutation probability for this virus particle (a float). This is 
     the probability of the offspring acquiring or losing resistance to a drug.   

     """ 


     # TODO 



    def isResistantTo(self, drug): 

     """ 
     Get the state of this virus particle's resistance to a drug. This method 
     is called by getResistPop() in Patient to determine how many virus 
     particles have resistance to a drug.  

     drug: The drug (a string) 
     returns: True if this virus instance is resistant to the drug, False 
     otherwise. 
     """ 

     # TODO 


    def reproduce(self, popDensity, activeDrugs): 

     """ 
     Stochastically determines whether this virus particle reproduces at a 
     time step. Called by the update() method in the Patient class. 

     If the virus particle is not resistant to any drug in activeDrugs, 
     then it does not reproduce. Otherwise, the virus particle reproduces 
     with probability:  

     self.maxBirthProb * (1 - popDensity).      

     If this virus particle reproduces, then reproduce() creates and returns 
     the instance of the offspring ResistantVirus (which has the same 
     maxBirthProb and clearProb values as its parent). 

     For each drug resistance trait of the virus (i.e. each key of 
     self.resistances), the offspring has probability 1-mutProb of 
     inheriting that resistance trait from the parent, and probability 
     mutProb of switching that resistance trait in the offspring.   

     For example, if a virus particle is resistant to guttagonol but not 
     grimpex, and `self.mutProb` is 0.1, then there is a 10% chance that 
     that the offspring will lose resistance to guttagonol and a 90% 
     chance that the offspring will be resistant to guttagonol. 
     There is also a 10% chance that the offspring will gain resistance to 
     grimpex and a 90% chance that the offspring will not be resistant to 
     grimpex. 

     popDensity: the population density (a float), defined as the current 
     virus population divided by the maximum population   

     activeDrugs: a list of the drug names acting on this virus particle 
     (a list of strings). 

     returns: a new instance of the ResistantVirus class representing the 
     offspring of this virus particle. The child should have the same 
     maxBirthProb and clearProb values as this virus. Raises a 
     NoChildException if this virus particle does not reproduce.   
     """ 
     # TODO 



class Patient(SimplePatient): 

    """ 
    Representation of a patient. The patient is able to take drugs and his/her 
    virus population can acquire resistance to the drugs he/she takes. 
    """ 

    def __init__(self, viruses, maxPop): 
     """ 
     Initialization function, saves the viruses and maxPop parameters as 
     attributes. Also initializes the list of drugs being administered 
     (which should initially include no drugs).    

     viruses: the list representing the virus population (a list of 
     SimpleVirus instances) 

     maxPop: the maximum virus population for this patient (an integer) 
     """ 
     # TODO 


    def addPrescription(self, newDrug): 

     """ 
     Administer a drug to this patient. After a prescription is added, the 
     drug acts on the virus population for all subsequent time steps. If the 
     newDrug is already prescribed to this patient, the method has no effect. 

     newDrug: The name of the drug to administer to the patient (a string). 

     postcondition: list of drugs being administered to a patient is updated 
     """ 
     # TODO 
     # should not allow one drug being added to the list multiple times 


    def getPrescriptions(self): 

     """ 
     Returns the drugs that are being administered to this patient. 
     returns: The list of drug names (strings) being administered to this 
     patient. 
     """ 

     # TODO 


    def getResistPop(self, drugResist): 
     """ 
     Get the population of virus particles resistant to the drugs listed in 
     drugResist.   

     drugResist: Which drug resistances to include in the population (a list 
     of strings - e.g. ['guttagonol'] or ['guttagonol', 'grimpex']) 

     returns: the population of viruses (an integer) with resistances to all 
     drugs in the drugResist list. 
     """ 
     # TODO 



    def update(self): 

     """ 
     Update the state of the virus population in this patient for a single 
     time step. update() should execute these actions in order: 

     - Determine whether each virus particle survives and update the list of 
      virus particles accordingly   
     - The current population density is calculated. This population density 
      value is used until the next call to update(). 
     - Determine whether each virus particle should reproduce and add 
      offspring virus particles to the list of viruses in this patient. 
      The listof drugs being administered should be accounted for in the 
      determination of whether each virus particle reproduces. 

     returns: the total virus population at the end of the update (an 
     integer) 
     """ 
     # TODO 



# 
# PROBLEM 2 
# 

def simulationWithDrug(): 

    """ 

    Runs simulations and plots graphs for problem 4. 
    Instantiates a patient, runs a simulation for 150 timesteps, adds 
    guttagonol, and runs the simulation for an additional 150 timesteps. 
    total virus population vs. time and guttagonol-resistant virus population 
    vs. time are plotted 
    """ 
    # TODO 



# 
# PROBLEM 3 
#   

def simulationDelayedTreatment(): 

    """ 
    Runs simulations and make histograms for problem 5. 
    Runs multiple simulations to show the relationship between delayed treatment 
    and patient outcome. 
    Histograms of final total virus populations are displayed for delays of 300, 
    150, 75, 0 timesteps (followed by an additional 150 timesteps of 
    simulation).  
    """ 

    # TODO 

# 
# PROBLEM 4 
# 

def simulationTwoDrugsDelayedTreatment(): 

    """ 
    Runs simulations and make histograms for problem 6. 
    Runs multiple simulations to show the relationship between administration 
    of multiple drugs and patient outcome. 

    Histograms of final total virus populations are displayed for lag times of 
    150, 75, 0 timesteps between adding drugs (followed by an additional 150 
    timesteps of simulation). 
    """ 

    # TODO 



# 
# PROBLEM 5 
#  

def simulationTwoDrugsVirusPopulations(): 

    """ 

    Run simulations and plot graphs examining the relationship between 
    administration of multiple drugs and patient outcome. 
    Plots of total and drug-resistant viruses vs. time are made for a 
    simulation with a 300 time step delay between administering the 2 drugs and 
    a simulations for which drugs are administered simultaneously.   

    """ 
    #TODO 
+0

Если вы в состоянии сделать полную переустановку Python, почему бы не установить более поздняя версия (например, 2.7.6)? – BrenBarn

+0

@BrenBarn Версия, рекомендованная курсом MIT Open Courseware, которую я беру, - это версия 2.5.4. Я не хочу, чтобы получить более новую версию, просто из-за каких-либо проблем с практикой/проблем с лекцией несовместимы с более новой версией IDLE. Кроме того, я полный новичок, когда речь идет о питоне или программировании, поэтому я не хочу рисковать вносить изменения и иметь гораздо больше проблем в будущем. – user2980081

+0

В пределах серии 2.x они должны быть обратными, то есть код, который работает в 2.5, будет работать в версии 2.7. – tacaswell

ответ

0

Я получал те же ошибки и фактически нашел ответ, и графики отлично работают на моем компьютере. Если вы получаете ошибку DLL, как это, попытайтесь загрузить msvcp71.dll и msvcr71.dll в вашем компьютере, а затем скопировать вставить эти два в вашей папке System32:

C:\Windows\System32

, а также копировать-вставить эти две библиотеки DLL в SysWOW64 папки, если вы работаете в операционной системе 64-битной

C:\Windows\SysWOW64

Теперь попробуйте запустить файл кода в Python, и она будет загружать график через пару секунд. Вот ссылка, которая говорит, как скопировать и вставить DLL файлы как к папке, это может помочь

http://www.youtube.com/watch?v=xmvRF7koJ5E

Приветствия ...

Смежные вопросы