thelabnyc / django-oscar-cybersource Goto Github PK
View Code? Open in Web Editor NEWAutomated Mirror
Home Page: https://gitlab.com/thelabnyc/django-oscar-cybersource
License: ISC License
Automated Mirror
Home Page: https://gitlab.com/thelabnyc/django-oscar-cybersource
License: ISC License
I'm using Python 3.7 in a Linux docker container as well as on my local mac running Catalina. After installing django-oscar-cybersource, configuring it, and starting up my Django app, I consistently get an error that the 'suds' module cannot be found. In looking more closely, I can see that there is a 'suds-jurko' module that is referenced both in setup.py and in requirements.txt, but it is not in my site-packages directory in my virtual environment.
I have run both pipenv and pip in clean environments, and neither of them are pulling down this requirement, or seemingly even detecting that it is a requirement at all.
One issue I have with this is, of course, I don't understand how something in requirements.txt could go completely unmentioned by both pip and pipenv! However, a second issue is that this module seems to be specific to SOAP, and I'm not using the SOAP interface, so unless this is required for talking to the remote cybersource.com endpoints, I don't know why this module not found exception should even be triggered.
Any pointers? Is anyone else able to replicate this?
web_1 |
web_1 | Exception in thread django-main-thread:
web_1 | Traceback (most recent call last):
web_1 | File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner
web_1 | self.run()
web_1 | File "/usr/local/lib/python3.7/threading.py", line 870, in run
web_1 | self._target(*self._args, **self._kwargs)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/utils/autoreload.py", line 54, in wrapper
web_1 | fn(*args, **kwargs)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/commands/runserver.py", line 117, in inner_run
web_1 | self.check(display_num_errors=True)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 390, in check
web_1 | include_deployment_checks=include_deployment_checks,
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/management/base.py", line 377, in _run_checks
web_1 | return checks.run_checks(**kwargs)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/registry.py", line 72, in run_checks
web_1 | new_errors = check(app_configs=app_configs)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
web_1 | all_namespaces = _load_all_namespaces(resolver)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/core/checks/urls.py", line 57, in _load_all_namespaces
web_1 | url_patterns = getattr(resolver, 'url_patterns', [])
web_1 | File "/usr/local/lib/python3.7/site-packages/django/utils/functional.py", line 80, in __get__
web_1 | res = instance.__dict__[self.name] = self.func(instance)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 584, in url_patterns
web_1 | patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/utils/functional.py", line 80, in __get__
web_1 | res = instance.__dict__[self.name] = self.func(instance)
web_1 | File "/usr/local/lib/python3.7/site-packages/django/urls/resolvers.py", line 577, in urlconf_module
web_1 | return import_module(self.urlconf_name)
web_1 | File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
web_1 | return _bootstrap._gcd_import(name[level:], package, level)
web_1 | File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
web_1 | File "<frozen importlib._bootstrap>", line 983, in _find_and_load
web_1 | File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
web_1 | File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
web_1 | File "<frozen importlib._bootstrap_external>", line 728, in exec_module
web_1 | File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
web_1 | File "/code/goodbody/urls.py", line 30, in <module>
web_1 | path('api/cybersource/', include(apps.get_app_config('cybersource').urls[0])),
web_1 | File "/usr/local/lib/python3.7/site-packages/oscar/core/application.py", line 144, in urls
web_1 | return self.get_urls(), self.label, self.namespace
web_1 | File "/usr/local/lib/python3.7/site-packages/cybersource/apps.py", line 15, in get_urls
web_1 | from .views import (
web_1 | File "/usr/local/lib/python3.7/site-packages/cybersource/views.py", line 15, in <module>
web_1 | from .methods import Cybersource, Bluefin, create_review_order_note, mark_declined
web_1 | File "/usr/local/lib/python3.7/site-packages/cybersource/methods.py", line 10, in <module>
web_1 | from suds import sudsobject
web_1 | ModuleNotFoundError: No module named 'suds'
web_1 |
^CGracefully stopping... (press Ctrl+C again to force)
Trying to get started with this module is made exponentially more difficult by the install document which, depending on the step you're on, is either really incomplete, or incorrect (out of date? Not clear, but the changelog on readthedocs says the latest release is 4.0.2, so maybe the rest of the docs are from then as well?). I wonder if maybe you have some automated process that's supposed to push doc updates to readthedocs that might be silently failing?
For just a couple of quick examples:
path('api/cybersource/', include(apps.get_app_config('cybersource').urls[0]))
which I found by digging around in the sandbox app.pip install
command fails to mention that your package is in pypi, opting instead for a hard-coded gitlab url which, by the way, looks like it might be hard-coded for release 1.0.0.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.