python ImportError: невозможно импортировать имя 'Faker' из 'faker' - PullRequest
0 голосов
/ 03 декабря 2018

привет, поэтому я пишу этот сценарий для предварительного заполнения своей базы данных Django, но когда я перестал ее писать, я получил странную ошибку: Мой сценарий:

import os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'first_project.settings')

import django
django.setup()

## FAKE POPULATION SCRIPT:

import random
from first_app.models import AccessRecord,Webpage,Topic
from faker import Faker

# Creating a fake generator:
fakegen = Faker
topics = ['Search', 'Social', 'Marketplace', 'News', 'Games']


def add_topic():
    t = Topic.objects.get_or_create(top_name=random.choice(topics))[0]
    t.save()
    return t

def populate(N = 5):

    for entry in range(N):

        # GET THE TOPIC FOR THE ENTRY:
        top = add_topic()

        # Create the fake data for that entry:
        fake_url = fakegen.url()
        fake_date = fakegen.date()
        fake_name = fakegen.company()

    # Create the new webpage entry:
    webpg = Webpage.objects.get_or_create(topic = top, url = fake_url, name = fake_name)[0]

    # Create a fake access record for that webpage
    acc_rec = AccessRecord.get_or_create(name = webpg, date = fake_date)[0]


if __name__ == '__main__':
    print("Populating Script!")
    populate(20)
    print("Populating Complete!")

Ошибка, которую я получаю:

python populate_first_app.py
Traceback (most recent call last):
  File "populate_first_app.py", line 11, in <module>
    from faker import Faker
  File "E:\Python\Projects\Python And Django FullStack\Django\first_project\faker.py", line 1, in <module>
    from faker import Faker
ImportError: cannot import name 'Faker' from 'faker'

Я никогда не сталкивался с подобной ошибкой. Я использую этот скрипт под влиянием виртуальной среды, в которую я уже установил все пакеты. Я уже проверил несколько вещей, таких как удаление и установка библиотеки 'faker'.еще раз, но это не сработало, и я все еще получаю ошибку.

1 Ответ

0 голосов
/ 03 декабря 2018

В вашем проекте есть файл с именем "faker.py", который скрывает установленную вами библиотеку.Переименуйте этот файл.

...