![](/img/trans.png)
[英]ImportError: cannot import name 'faker' from partially initialized module 'faker' (most likely due to a circular import)
[英]python ImportError: cannot import name 'Faker' from 'faker'
你好,所以我一直在編寫這個腳本來預填充我的 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”庫,但它沒有用我仍然收到錯誤消息。
您的項目中有一個名為“faker.py”的文件,它隱藏了您安裝的庫。 重命名該文件。
請按照以下說明操作,您的問題將得到解決:-
1)確保您在虛擬環境中安裝了 Faker 庫,為此使用以下命令:-
pip install Faker
它將在您的虛擬環境中安裝最新版本的 faker。
2)現在確保在您的項目中像這樣導入它:-
from faker import Faker
和賓果游戲你的問題是固定快樂編碼:-)
永遠不要創建一個名為“faker.py”的python文件來存儲faker模塊代碼,因為faker名稱已經在python安裝的腳本中可用。 有關更多詳細信息,您可以查看以下位置“C:\\Python 3.7\\Scripts”。 除了 faker ex: one.py 或 two.py 之外,您可以為文件指定任何名稱以存儲與 faker 模塊相關的代碼。
您可能在 VS-Code 中執行此操作,因此在 vs code 的 left_bottom 中選擇您的特定環境,選擇您為 django 項目創建的 python 環境。
我嘗試了以下方法,它對我有用。
我使用以下命令卸載了我之前使用 venv 中的 pip 和 pip3 安裝的 Faker 和 faker(只是為了確定)
pip uninstall Faker
pip uninstall faker
pip3 uninstall Faker
pip3 uninstall faker
然后我使用以下命令使用 conda 在我的 venv 中重新安裝 Faker
conda install -c conda-forge faker
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.