首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python ImportError:无法从'Faker‘导入名称'faker’

python ImportError:无法从'Faker‘导入名称'faker’
EN

Stack Overflow用户
提问于 2018-12-03 20:49:53
回答 5查看 4.4K关注 0票数 1

您好,我一直在编写这个脚本来预先填充我的Django数据库,但当我停止编写它时,我得到了一个奇怪的错误:我的脚本:

代码语言:javascript
复制
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!")

我得到的错误是:

代码语言:javascript
复制
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‘库,但它不起作用,我仍然收到错误。

EN

回答 5

Stack Overflow用户

发布于 2018-12-03 20:51:19

您的项目中有一个名为"faker.py“的文件,它隐藏了您安装的库。重命名该文件。

票数 10
EN

Stack Overflow用户

发布于 2020-04-13 01:54:00

按照以下说明操作,您的问题将得到解决:-

1)确保在您的虚拟环境中安装了Faker库,使用以下命令:-

代码语言:javascript
复制
pip install Faker

它会在你的虚拟环境中安装最新版本的faker。

2)现在确保在你的项目中像这样导入:

代码语言:javascript
复制
from faker import Faker

BINGO你的问题已经解决了,快乐的编码:-)

票数 0
EN

Stack Overflow用户

发布于 2020-06-20 04:02:07

永远不要创建名为"faker.py“的python文件来存储伪造模块代码,因为在python安装的脚本中已经提供了伪造模块的名称。有关更多详细信息,请访问以下位置"C:\Python 3.7\Scripts“。您可以为文件指定除faker以外的任何名称,例如: one.py或two.py,以存储与faker模块相关的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53594210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档