模块未找到错误:找不到名为“paypal”的模块。

4

我正在使用以下技术进行开发:

Python: 3.8, Django: 3.0, django-paypal: 1.0.0

我尝试使用 Django-Paypal 库实现一个简单的支付网关。

但在迁移过程中出现了以下错误.....

    (project-venv) PS J:\jaimin (E)\Programming Practice\Django\Payment Gateway using Paypal\simple_ecommerce\django_project> py -3 .\manage.py migrate
Traceback (most recent call last):
  File ".\manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\jaimi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "C:\Users\jaimi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\core\management\__init__.py", line 377, in execute
    django.setup()
  File "C:\Users\jaimi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\jaimi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\jaimi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\django\apps\config.py", line 116, in create
    mod = import_module(mod_path)
  File "C:\Users\jaimi\AppData\Local\Programs\Python\Python38-32\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 973, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'paypal'

以下是我的settings.py文件:

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'ecommerce_app',
    'paypal.standard.ipn',  
]

我现在能做什么?...


请确保在虚拟环境中已安装django-paypal。在Windows系统上,您可以执行以下命令:py -3 -m pip freeze。若需安装该模块,请输入:py -3 -m pip install django-paypal - Alasdair
我已经在我的虚拟环境中安装了django-paypal。 - Jaimin Sagar
1
有时候 pip 指向的并不是你想要的 Python 版本,这是 Python 的一个令人沮丧的问题之一,xkcd 上有一幅著名的漫画 描绘了这个问题。这就是为什么我总是建议使用 python -m pip,因为它保证你使用的是相同版本的 Python。我对 Windows 不太熟悉,所以无法提供帮助,但是文档中说 py -3 -m pip 可以解决这个问题。 - Alasdair
无论如何,请尝试昨天我建议的确切命令并展示结果。最糟糕的情况是我的理论是错误的,我们确认Django-paypal已经正确安装在环境中。 - Alasdair
1
谢谢,兄弟,它起作用了。我尝试了你建议的方法......非常感谢.... - Jaimin Sagar
显示剩余4条评论
2个回答

1
由于init.py文件中存在循环导入,所以出现了这种情况。 请按照以下步骤操作: 不要安装此...也许你已经这样做了...
pip uninstall paypal

无需删除迁移,卸载并正确地重新安装即可。

pip install django-paypal

不要忘记在其中添加“ - ”,因为这是该问题的原因...这对我有用!尝试一下,如果有效,请点赞。提前感谢您。

1
如果他要使用django-paypal,为什么他要卸载django? - Armen Sanoyan
不,嘿,他们应该只卸载PayPal,而不是Django。我曾经使用过这个方法,当需要卸载Django时选择“n”,然后选择“y”卸载PayPal,实际上这对我很有效!所以我觉得分享一下会有帮助。 - Saikat Mukherjee
1
是的,你说得对。我不明白为什么你要写pip uninstall django paypal来卸载paypal。我的意思是,为什么你不只写pip uninstall paypal呢? - Armen Sanoyan
是的先生!完全正确...我应该编辑答案吗?如果它有效,请点赞! - Saikat Mukherjee
如果您在编辑问题或答案时犯了错误,那么纠正它总是一个好主意。 - Armen Sanoyan

0
你只需要安装django-paypal
pip install django-paypal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接