ModuleNotFoundError:没有名为“paypal”的模块

Posted

技术标签:

【中文标题】ModuleNotFoundError:没有名为“paypal”的模块【英文标题】:ModuleNotFoundError: No module named 'paypal' 【发布时间】:2020-07-14 20:50:03 【问题描述】:

我正在使用,

Python:3.8, 姜戈:3.0, django-paypal: 1.0.0

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

我在迁移过程中遇到了这个错误.....

    (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 我已经在我的 venv 中安装了 django-paypal 你确定吗? pip freeze 命令的输出是什么?对于No module named 'paypal',最简单的解释就是当前环境没有安装。 有时pip 并不指向您认为的 Python。这是 Python 的挫折之一,有a famous xkcd cartoon about it。这就是为什么我总是推荐python -m pip,因为它保证你使用的是相同版本的Python。我对 Windows 不熟悉,所以对此无能为力,但the docs 说py -3 -m pip 可以工作。 谢谢,兄弟,成功了。我完全按照您的建议进行了尝试.....非常感谢.... 【参考方案1】:

尝试删除ecommerce_appmigrations文件夹中的所有迁移文件,但不要删除__init__.py,然后再次运行python manage.py makemigrationspython manage.py migrate。我遇到了这样的错误,删除迁移文件对我有用。

【讨论】:

【参考方案2】:

您只需要安装 django-paypal

pip install django-paypal

【讨论】:

【参考方案3】:

这是由于 init.py 文件中的循环导入而发生的 按照步骤 : 不要安装这个......也许你已经做到了......

pip uninstall paypal

无需删除迁移,将其卸载并正确重新安装

pip install django-paypal

不要忘记在其中添加“ - ”,因为这是该问题的原因...... 这对我有用! 如果可行,请尝试投赞成票。提前谢谢你

【讨论】:

如果他要使用 django-paypal 为什么要卸载 django ? 不,先生,嘿应该只卸载 paypal ..not django。我用过这个,但是当 unistall django---n 然后卸载 paypal ----y 时,实际上这对我有用!所以我认为分享会有所帮助。 是的,你是对的。如果你想卸载 paypal,我不明白你为什么要写 pip uninstall django paypal。我的意思是你为什么不只写 pip uninstall paypal 是的,先生!绝对正确....我应该编辑 ans 吗?如果可行,请点赞! 如果您在问题或答案编辑中犯了错误,这总是一个好主意

以上是关于ModuleNotFoundError:没有名为“paypal”的模块的主要内容,如果未能解决你的问题,请参考以下文章

ModuleNotFoundError:没有名为“dataviz”的模块

ModuleNotFoundError:没有名为“numpy”的模块

错误:ModuleNotFoundError:没有名为“图像”的模块

ModuleNotFoundError:没有名为“knox”的模块

ModuleNotFoundError:没有名为“memoize”的模块

ModuleNotFoundError:没有名为“pssh”的模块