saleor | high performance , headless e | Ecommerce library

 by   mirumee Python Version: 2.10.1 License: Non-SPDX

kandi X-RAY | saleor Summary

saleor is a Python library typically used in Retail, Web Site, Ecommerce applications. saleor has build file available and it has high support. However saleor has 81 bugs, it has 2 vulnerabilities and it has a Non-SPDX License. You can install using 'pip install saleor' or download it from GitHub, PyPI.
Customer-centric e-commerce on a modern stack.
    Support
      Quality
        Security
          License
            Reuse
            Support
              Quality
                Security
                  License
                    Reuse

                      kandi-support Support

                        summary
                        saleor has a highly active ecosystem.
                        summary
                        It has 13983 star(s) with 4003 fork(s). There are 399 watchers for this library.
                        summary
                        It had no major release in the last 12 months.
                        summary
                        There are 194 open issues and 2821 have been closed. On average issues are closed in 397 days. There are 34 open pull requests and 0 closed requests.
                        summary
                        It has a negative sentiment in the developer community.
                        summary
                        The latest version of saleor is 2.10.1
                        saleor Support
                          Best in #Ecommerce
                            Average in #Ecommerce
                            saleor Support
                              Best in #Ecommerce
                                Average in #Ecommerce

                                  kandi-Quality Quality

                                    summary
                                    saleor has 81 bugs (2 blocker, 0 critical, 52 major, 27 minor) and 1454 code smells.
                                    saleor Quality
                                      Best in #Ecommerce
                                        Average in #Ecommerce
                                        saleor Quality
                                          Best in #Ecommerce
                                            Average in #Ecommerce

                                              kandi-Security Security

                                                summary
                                                saleor has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
                                                summary
                                                saleor code analysis shows 2 unresolved vulnerabilities (2 blocker, 0 critical, 0 major, 0 minor).
                                                summary
                                                There are 132 security hotspots that need review.
                                                saleor Security
                                                  Best in #Ecommerce
                                                    Average in #Ecommerce
                                                    saleor Security
                                                      Best in #Ecommerce
                                                        Average in #Ecommerce

                                                          kandi-License License

                                                            summary
                                                            saleor has a Non-SPDX License.
                                                            summary
                                                            Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
                                                            saleor License
                                                              Best in #Ecommerce
                                                                Average in #Ecommerce
                                                                saleor License
                                                                  Best in #Ecommerce
                                                                    Average in #Ecommerce

                                                                      kandi-Reuse Reuse

                                                                        summary
                                                                        saleor releases are available to install and integrate.
                                                                        summary
                                                                        Deployable package is available in PyPI.
                                                                        summary
                                                                        Build file is available. You can build the component from source.
                                                                        summary
                                                                        Installation instructions are available. Examples and code snippets are not available.
                                                                        saleor Reuse
                                                                          Best in #Ecommerce
                                                                            Average in #Ecommerce
                                                                            saleor Reuse
                                                                              Best in #Ecommerce
                                                                                Average in #Ecommerce
                                                                                  Top functions reviewed by kandi - BETA
                                                                                  kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
                                                                                  Currently covering the most popular Java, JavaScript and Python libraries. See a Sample Here
                                                                                  Get all kandi verified functions for this library.
                                                                                  Get all kandi verified functions for this library.

                                                                                  saleor Key Features

                                                                                  PWA: End users can shop offline for better sales and shopping experiences
                                                                                  GraphQL API: Access all data from any web or mobile client using the latest technology
                                                                                  Headless commerce: Build mobile apps, customize storefronts and externalize processes
                                                                                  UX and UI: Designed for a user experience that rivals even the top commercial platforms
                                                                                  Dashboard: Administrators have total control of users, processes, and products
                                                                                  Orders: A comprehensive system for orders, dispatch, and refunds
                                                                                  Cart: Advanced payment and tax options, with full control over discounts and promotions
                                                                                  Payments: Flexible API architecture allows integration of any payment method. It comes with Braintree support out of the box.
                                                                                  Geo-adaptive: Automatic localized pricing. Over 20 local languages. Localized checkout experience by country.
                                                                                  SEO: Packed with features that get stores to a wider audience
                                                                                  Cloud: Optimized for deployments using Docker
                                                                                  Analytics: Server-side Google Analytics to report e-commerce metrics without affecting privacy

                                                                                  saleor Examples and Code Snippets

                                                                                  Saleor GraphQL Loader,usage,loading data
                                                                                  Pythondot imgLines of Code : 16dot imgLicense : Permissive (MIT)
                                                                                  copy iconCopy
                                                                                  
                                                                                                                      from saleor_gql_loader import ETLDataLoader # initialize the data_loader (optionally provide an endpoint url as second parameter) data_loader = ETLDataLoader("LcLNVgUt8mu8yKJ0Wrh3nADnTT21uv") # create a warehouse warehouse_id = etl_data_loader.create_warehouse()
                                                                                  # create a warehouse with specified name and email warehouse_id = etl_data_loader.create_warehouse(name="my warehouse name", email="email@example.com")
                                                                                  # create a year attribute year_attribute_id = etl_data_loader.create_attribute(name="year") # add the following year value to the year attribute possible_year_values = [2020, 2019, 2018, 2017] for year in possible_year_values: etl_data_loader.create_attribute_value(year_attribute_id, name=year)
                                                                                  Saleor GraphQL Loader,usage,prerequisities
                                                                                  Pythondot imgLines of Code : 15dot imgLicense : Permissive (MIT)
                                                                                  copy iconCopy
                                                                                  
                                                                                                                      python manage.py create_app etl --permission account.manage_users \ --permission account.manage_staff \ --permission app.manage_apps \ --permission discount.manage_discounts \ --permission plugins.manage_plugins \ --permission giftcard.manage_gift_card \ --permission menu.manage_menus \ --permission order.manage_orders \ --permission page.manage_pages \ --permission product.manage_products \ --permission shipping.manage_shipping \ --permission site.manage_settings \ --permission site.manage_translations \ --permission webhook.manage_webhooks \ --permission checkout.manage_checkouts
                                                                                  shopozor-backend,Development's instructions,Testing saleor
                                                                                  Pythondot imgLines of Code : 7dot imgno licencesLicense : No License
                                                                                  copy iconCopy
                                                                                  
                                                                                                                      sudo apt install -y build-essential python3-cffi libcairo2 libpango-1.0-0 libpangocairo-1.0-0 libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
                                                                                  cd shopozor-backend/saleor npm i npm run build-assets npm run build-emails
                                                                                  export DJANGO_SETTINGS_MODULE=saleor.settings py.test -ra
                                                                                  Saleor front-end installation
                                                                                  Pythondot imgLines of Code : 2dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                  copy iconCopy
                                                                                  export API_URI=http://localhost:8000/graphql/
                                                                                  
                                                                                  copy iconCopy
                                                                                  SET PATH="C:\Program Files\PostgreSQL\12\bin";...
                                                                                  
                                                                                  Error installing Python Plugin: ModuleNotFoundError: No module named
                                                                                  Pythondot imgLines of Code : 2dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                  copy iconCopy
                                                                                  PYTHONPATH=path/to/plugin
                                                                                  
                                                                                  Running setup.py install for pyxb ... error
                                                                                  Pythondot imgLines of Code : 2dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                  copy iconCopy
                                                                                  (saleor-venv) ec2-user@ip-12-3-3-2:~/repo/fork/saleor> python3.9 -m pip install wheel
                                                                                  
                                                                                  Getting django signals to work between applications
                                                                                  Pythondot imgLines of Code : 8dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                  copy iconCopy
                                                                                  from django.db.models.signals import post_save
                                                                                  from django.dispatch import receiver
                                                                                  
                                                                                  @receiver(post_save, sender=, dispatch_uid='_post_save')
                                                                                  def _post_save(sender, instance, **kwargs):
                                                                                  
                                                                                      ...
                                                                                  
                                                                                  Getting django signals to work between applications
                                                                                  Pythondot imgLines of Code : 2dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                  copy iconCopy
                                                                                  from saleor.saleor_package.receipt_printer.signals import order_fully_paid_signal
                                                                                  
                                                                                  password authentication failed for user "saleor"
                                                                                  Pythondot imgLines of Code : 5dot imgLicense : Strong Copyleft (CC BY-SA 4.0)
                                                                                  copy iconCopy
                                                                                  python manage.py makemigrations
                                                                                  python manage.py migrate
                                                                                  
                                                                                  python manage.py createsuperuser
                                                                                  
                                                                                  Community Discussions

                                                                                  Trending Discussions on saleor

                                                                                  Error installing Python Plugin: ModuleNotFoundError: No module named
                                                                                  chevron right
                                                                                  `npm start` got a massive number of error messages
                                                                                  chevron right
                                                                                  How to access docker container listening on 0.0.0.0:8000
                                                                                  chevron right
                                                                                  Saleor-Storefront does not show up on localhost:3000. Looks like storefront port is not bound to port 3000
                                                                                  chevron right
                                                                                  Ingress redirect to a localhost tcp service
                                                                                  chevron right
                                                                                  How can we translate product attribute in Saleor dashboard?
                                                                                  chevron right
                                                                                  How to store a JWT refreshToken cookie response
                                                                                  chevron right
                                                                                  Change the title of storefront
                                                                                  chevron right
                                                                                  Running setup.py install for pyxb ... error
                                                                                  chevron right
                                                                                  Git clone is not working due to bad file path
                                                                                  chevron right

                                                                                  QUESTION

                                                                                  Error installing Python Plugin: ModuleNotFoundError: No module named
                                                                                  Asked 2022-Mar-08 at 02:03

                                                                                  I'm trying to build a Python Plugin for Saleor using Poetry and I'm having issues installing the plugin on Saleor. I run poetry add ../social_auth to install the plugin on saleor and it succeeds but when I try to run Saleor I get this Error:

                                                                                  No module named 'social_auth'
                                                                                  File
                                                                                  "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
                                                                                      return _bootstrap._gcd_import(name[level:], package, level)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/apps/config.py",
                                                                                  line 224, in create
                                                                                      import_module(entry)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/apps/registry.py",
                                                                                  line 91, in populate
                                                                                      app_config = AppConfig.create(entry)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/__init__.py",
                                                                                  line 24, in setup
                                                                                      apps.populate(settings.INSTALLED_APPS)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/utils/autoreload.py",
                                                                                  line 64, in wrapper
                                                                                      fn(*args, **kwargs)   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/core/management/__init__.py",
                                                                                  line 375, in execute
                                                                                      autoreload.check_errors(django.setup)()   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/utils/autoreload.py",
                                                                                  line 87, in raise_last_exception
                                                                                      raise _exception[1]   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/core/management/commands/runserver.py",
                                                                                  line 110, in inner_run
                                                                                      autoreload.raise_last_exception()   File "/home/ton/.cache/pypoetry/virtualenvs/saleor-nXZtbKPR-py3.9/lib/python3.9/site-packages/django/utils/autoreload.py",
                                                                                  line 64, in wrapper
                                                                                      fn(*args, **kwargs)   File "/usr/lib/python3.9/threading.py", line 910, in run
                                                                                      self._target(*self._args, **self._kwargs)   File "/usr/lib/python3.9/threading.py", line 973, in _bootstrap_inner
                                                                                      self.run()   File "/usr/lib/python3.9/threading.py", line 930, in _bootstrap
                                                                                      self._bootstrap_inner()
                                                                                  

                                                                                  But I checked, the module is in settings.INSTALLED_APPS, settings.PLUGINS and listed on pip list...

                                                                                  Here's the plugin structure:

                                                                                  ├── __init__.py
                                                                                  ├── poetry.lock
                                                                                  ├── pyproject.toml
                                                                                  └── social_auth
                                                                                      ├── __init__.py
                                                                                      └── plugin.py
                                                                                  
                                                                                  1 directory, 5 files
                                                                                  

                                                                                  the pyproject.toml file:

                                                                                  [tool.poetry]
                                                                                  name = "social-auth"
                                                                                  version = "0.1.0"
                                                                                  description = "Social auth for saleor"
                                                                                  authors = ["Wellington Zenon "]
                                                                                  packages = [
                                                                                      { include = "plugin.py", from="social_auth"}
                                                                                  ]
                                                                                  
                                                                                  [tool.poetry.dependencies]
                                                                                  python = "^3.9"
                                                                                  
                                                                                  [build-system]
                                                                                  requires = ["poetry-core>=1.0.0"]
                                                                                  build-backend = "poetry.core.masonry.api"
                                                                                  
                                                                                  [tool.poetry.plugins."saleor.plugins"]
                                                                                  "social_auth" = "social_auth.plugin:SocialLoginPlugin"
                                                                                  

                                                                                  the plugin.py file:

                                                                                  from copy import copy, deepcopy
                                                                                  from dataclasses import dataclass
                                                                                  from decimal import Decimal
                                                                                  from typing import TYPE_CHECKING, Any, Callable, Iterable, List, Optional, Tuple, Union
                                                                                  
                                                                                  from django.core.handlers.wsgi import WSGIRequest
                                                                                  from django.http import HttpResponse
                                                                                  from django_countries.fields import Country
                                                                                  from prices import Money, TaxedMoney
                                                                                  from saleor.plugins.base_plugin import BasePlugin
                                                                                  
                                                                                  from ..models import PluginConfiguration
                                                                                  
                                                                                  if TYPE_CHECKING:
                                                                                      # flake8: noqa
                                                                                      from account.models import Address, User
                                                                                      from channel.models import Channel
                                                                                  
                                                                                  PluginConfigurationType = List[dict]
                                                                                  NoneType = type(None)
                                                                                  
                                                                                  
                                                                                  class ConfigurationTypeField:
                                                                                      STRING = "String"
                                                                                      MULTILINE = "Multiline"
                                                                                      BOOLEAN = "Boolean"
                                                                                      SECRET = "Secret"
                                                                                      SECRET_MULTILINE = "SecretMultiline"
                                                                                      PASSWORD = "Password"
                                                                                      OUTPUT = "OUTPUT"
                                                                                      CHOICES = [
                                                                                          (STRING, "Field is a String"),
                                                                                          (MULTILINE, "Field is a Multiline"),
                                                                                          (BOOLEAN, "Field is a Boolean"),
                                                                                          (SECRET, "Field is a Secret"),
                                                                                          (PASSWORD, "Field is a Password"),
                                                                                          (SECRET_MULTILINE, "Field is a Secret multiline"),
                                                                                          (OUTPUT, "Field is a read only"),
                                                                                      ]
                                                                                  
                                                                                  
                                                                                  @dataclass
                                                                                  class ExternalAccessTokens:
                                                                                      token: Optional[str] = None
                                                                                      refresh_token: Optional[str] = None
                                                                                      csrf_token: Optional[str] = None
                                                                                      user: Optional["User"] = None
                                                                                  
                                                                                  
                                                                                  class SocialLoginPlugin(BasePlugin):
                                                                                      """Abstract class for storing all methods available for any plugin.
                                                                                  
                                                                                      All methods take previous_value parameter.
                                                                                      previous_value contains a value calculated by the previous plugin in the queue.
                                                                                      If the plugin is first, it will use default value calculated by the manager.
                                                                                      """
                                                                                  
                                                                                      PLUGIN_NAME = "Social Authentication Plugin"
                                                                                      PLUGIN_ID = "plugin.socialauth"
                                                                                      PLUGIN_DESCRIPTION = "A plugin for social authentication"
                                                                                      CONFIG_STRUCTURE = {
                                                                                          "key": {
                                                                                              "type": ConfigurationTypeField.STRING,
                                                                                              "help_text": "Provide the social authentication key from the authetication provider (i.e. Facebook)",
                                                                                              "label": "Authentication Provider Key",
                                                                                          },
                                                                                          "secret": {
                                                                                              "type": ConfigurationTypeField.SECRET,
                                                                                              "help_text": "Provide the social authentication secret from the authetication provider (i.e. Facebook)",
                                                                                              "label": "Authentication Provider Secret",
                                                                                          },
                                                                                      }
                                                                                      CONFIGURATION_PER_CHANNEL = False
                                                                                      DEFAULT_CONFIGURATION = []
                                                                                      DEFAULT_ACTIVE = False
                                                                                  
                                                                                      @classmethod
                                                                                      def check_plugin_id(cls, plugin_id: str) -> bool:
                                                                                          """Check if given plugin_id matches with the PLUGIN_ID of this plugin."""
                                                                                          return cls.PLUGIN_ID == plugin_id
                                                                                  
                                                                                      def __init__(
                                                                                          self,
                                                                                          *,
                                                                                          configuration: PluginConfigurationType,
                                                                                          active: bool,
                                                                                          channel: Optional["Channel"] = None
                                                                                      ):
                                                                                          self.configuration = self.get_plugin_configuration(configuration)
                                                                                          self.active = active
                                                                                          self.channel = channel
                                                                                  
                                                                                      def __str__(self):
                                                                                          return self.PLUGIN_NAME
                                                                                  
                                                                                      #  Handle authentication request.
                                                                                      #
                                                                                      #  Overwrite this method if the plugin handles authentication flow.
                                                                                      def external_authentication_url(self, payload: dict, request: WSGIRequest) -> dict:
                                                                                          print(payload)
                                                                                          return {"payload": payload}
                                                                                  
                                                                                      #  Handle authentication request responsible for obtaining access tokens.
                                                                                      #
                                                                                      #  Overwrite this method if the plugin handles authentication flow.
                                                                                  
                                                                                      def external_obtain_access_tokens(
                                                                                          self, payload: dict, request: WSGIRequest
                                                                                      ) -> ExternalAccessTokens:
                                                                                          pass
                                                                                  
                                                                                      #  Authenticate user which should be assigned to the request.
                                                                                      #
                                                                                      #  Overwrite this method if the plugin handles authentication flow.
                                                                                  
                                                                                      def authenticate_user(
                                                                                          self, request: WSGIRequest, previous_value: Any
                                                                                      ) -> Union["User", NoneType]:
                                                                                          pass
                                                                                  
                                                                                      #  Handle logout request.
                                                                                      #
                                                                                      #  Overwrite this method if the plugin handles logout flow.
                                                                                      external_logout: Callable[[dict], Any]
                                                                                  
                                                                                      #  Handle authentication refresh request.
                                                                                      #
                                                                                      #  Overwrite this method if the plugin handles authentication flow and supports
                                                                                      #  refreshing the access.
                                                                                      external_refresh: Callable[[dict, WSGIRequest], ExternalAccessTokens]
                                                                                  
                                                                                      #  Verify the provided authentication data.
                                                                                      #
                                                                                      #  Overwrite this method if the plugin should validate the authentication data.
                                                                                      external_verify: Callable[[dict, WSGIRequest], Tuple[Union["User", NoneType], dict]]
                                                                                  
                                                                                      get_client_token: Callable[[Any, Any], Any]
                                                                                  
                                                                                      #  Handle received http request.
                                                                                      #
                                                                                      #  Overwrite this method if the plugin expects the incoming requests.
                                                                                      webhook: Callable[[WSGIRequest, str, Any], HttpResponse]
                                                                                  
                                                                                  

                                                                                  How can I solve this?

                                                                                  ANSWER

                                                                                  Answered 2022-Mar-08 at 02:03

                                                                                  The problem was that pyhton couldn't find the plugin source since it wasn't in the PYTHONPATH and I had to add it to PYTHONPATH environment variable using this command:

                                                                                  PYTHONPATH=path/to/plugin
                                                                                  

                                                                                  Source https://stackoverflow.com/questions/71373955

                                                                                  QUESTION

                                                                                  `npm start` got a massive number of error messages
                                                                                  Asked 2022-Mar-02 at 02:01

                                                                                  I am setting up the Saleor storefront following this document. However, after calling the command npm start on Windows CMD, there were a massive number of error messages popped up.

                                                                                  I am new to npm and unsure if I missed anything in the configuration.

                                                                                  Please let me know if you need more information. Any hints will be highly appreciated.

                                                                                  Screenshot of the last a few error messages:

                                                                                  1. The beginning part of screen output:
                                                                                  
                                                                                  Windows PowerShell
                                                                                  Copyright (C) Microsoft Corporation. All rights reserved.
                                                                                  
                                                                                  Try the new cross-platform PowerShell https://aka.ms/pscore6
                                                                                  
                                                                                  PS C:\my\work\saleor-dev\saleor-storefront> npm start
                                                                                  
                                                                                  > saleor-site@3.0.0-a.0 start
                                                                                  > next dev -p 3000
                                                                                  
                                                                                  ready - started server on 0.0.0.0:3000, url: http://localhost:3000
                                                                                  info  - Loaded env from C:\my\work\saleor-dev\saleor-storefront\.env.development
                                                                                  info  - Loaded env from C:\my\work\saleor-dev\saleor-storefront\.env
                                                                                  warn  - React 17.0.1 or newer will be required to leverage all of the upcoming features in Next.js 11. Read more: https://nextjs.org/docs/messages/react-version
                                                                                  info  - Using webpack 4. Reason: future.webpack5 option disabled https://nextjs.org/docs/messages/webpack5
                                                                                  Defining routes from exportPathMap
                                                                                  Warning: Reverting webpack devtool to 'inline-source-map'.
                                                                                  Changing the webpack devtool in development mode will cause severe performance regressions.
                                                                                  Read more: https://nextjs.org/docs/messages/improper-devtool
                                                                                  Warning: Built-in CSS support is being disabled due to custom CSS configuration being detected.
                                                                                  See here for more info: https://nextjs.org/docs/messages/built-in-css-disabled
                                                                                  
                                                                                  info  - Using external babel configuration from C:\my\work\saleor-dev\saleor-storefront\babel.config.js
                                                                                  error - ./src/globalStyles/scss/index.scss (./node_modules/css-loader??ref--5-1!./node_modules/sass-loader/lib/loader.js!./src/globalStyles/scss/index.scss)
                                                                                  Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (93)
                                                                                  For more information on which environments are supported please see:
                                                                                  https://github.com/sass/node-sass/releases/tag/v4.14.1
                                                                                  Issues checking in progress...
                                                                                  (node:14980) [DEP0128] DeprecationWarning: Invalid 'main' field in 'C:\my\work\saleor-dev\saleor-storefront\node_modules\eslint-config-airbnb-typescript\package.json' of 'dist/eslint-config-airbnb-typescript.js'. Please either fix that or report it to the module author
                                                                                  (Use `node --trace-deprecation ...` to show where the warning was created)
                                                                                  ...
                                                                                  

                                                                                  And then,

                                                                                  1. The error messages:
                                                                                  ... a massive number of error messages omitted ...
                                                                                  
                                                                                  ERROR in src/views/Search/SearchPage.tsx:114:14
                                                                                  prettier/prettier: Delete `␍`
                                                                                      112 |             if (data && data.products === null) {
                                                                                      113 |               return ;
                                                                                    > 114 |             }
                                                                                          |              ^
                                                                                      115 |
                                                                                      116 |             if (!isOnline) {
                                                                                      117 |               return ;
                                                                                  
                                                                                  ERROR in src/views/Search/SearchPage.tsx:115:1
                                                                                  prettier/prettier: Delete `␍`
                                                                                      113 |               return ;
                                                                                      114 |             }
                                                                                    > 115 |
                                                                                          | ^
                                                                                      116 |             if (!isOnline) {
                                                                                      117 |               return ;
                                                                                      118 |             }
                                                                                  
                                                                                  ERROR in src/views/Search/SearchPage.tsx:116:29
                                                                                  prettier/prettier: Delete `␍`
                                                                                      114 |             }
                                                                                      115 |
                                                                                    > 116 |             if (!isOnline) {
                                                                                          |                             ^
                                                                                      117 |               return ;
                                                                                      118 |             }
                                                                                      119 |           }}
                                                                                  
                                                                                  ERROR in src/views/Search/SearchPage.tsx:117:45
                                                                                  prettier/prettier: Delete `␍`
                                                                                      115 |
                                                                                      116 |             if (!isOnline) {
                                                                                    > 117 |               return ;
                                                                                          |                                             ^
                                                                                      118 |             }
                                                                                      119 |           }}
                                                                                      120 |         
                                                                                  

                                                                                  ANSWER

                                                                                  Answered 2022-Mar-02 at 01:13

                                                                                  This is because you may have edited the file under Windows, which uses CR+LF as end-of-line. And you have configured prettier (or by using a template, by default) set prettier to check if end-of-line is LF (unix style end-of-line), and report incorrect formatting as an error.

                                                                                  More about newline: https://en.wikipedia.org/wiki/Newline

                                                                                  Solution

                                                                                  You can either set prettier to allow the CR+LF line ending, or convert every source file to use LF line ending.

                                                                                  allow CR+LF line ending

                                                                                  You should try finding this section in eslintrc:

                                                                                  'prettier/prettier': [
                                                                                    'error',
                                                                                    {
                                                                                      'endOfLine': '[something something]',
                                                                                    }
                                                                                  ]
                                                                                  

                                                                                  and change the 'endOfLine' line to this:

                                                                                      'endOfLine': 'auto',
                                                                                  

                                                                                  or

                                                                                      'endOfLine': 'crlf',
                                                                                  

                                                                                  Either of these should allow CR+LF to be used.

                                                                                  convert CR+LF to LF (recommended)

                                                                                  You can do it manually in your editor, or you can let prettier do it. In your project folder, create .prettierrc.json (it may already exist if you are using a template, if it does, edit the existing one inst).

                                                                                  Set this option in .prettierrc.json:

                                                                                  {
                                                                                      "endOfLine": "lf"
                                                                                  }
                                                                                  

                                                                                  Then run npx prettier --write src/ for npm or yarn prettier --write src/ for yarn.

                                                                                  After that, you can run npx prettier --check src/ to check if the source files are formatted correctly.

                                                                                  Source https://stackoverflow.com/questions/71316220

                                                                                  QUESTION

                                                                                  How to access docker container listening on 0.0.0.0:8000
                                                                                  Asked 2022-Mar-02 at 01:34

                                                                                  I am new to Docker and trying to run an open-source Django application with Docker Desktop for Windows.

                                                                                  Command docker container ls shows the application is running, and the service is listening on port 0.0.0.0:8000.

                                                                                  What IP address should I use on the Windows host to access this service? I appreciate your help.

                                                                                  docker container ls
                                                                                  
                                                                                  ...
                                                                                  1f2c70d56d48   saleor-platform_api          "python manage.py ru…"   23 minutes ago   Up 23 minutes   0.0.0.0:8000->8000/tcp
                                                                                                                                                 saleor-platform-api-1
                                                                                  ...
                                                                                  

                                                                                  ANSWER

                                                                                  Answered 2022-Mar-02 at 01:34

                                                                                  As you can see here:

                                                                                  0.0.0.0:8000->8000

                                                                                  Docker is mapping the port 8000 of your container to the port 8000 of the host. Therefore, to send a request to the container, you need to make a request to localhost:8000 from the host (Windows in your case).

                                                                                  Source https://stackoverflow.com/questions/71302727

                                                                                  QUESTION

                                                                                  Saleor-Storefront does not show up on localhost:3000. Looks like storefront port is not bound to port 3000
                                                                                  Asked 2022-Feb-12 at 14:29

                                                                                  In MacOS, I am unable to access saleor storefront on localhost:3000. I do not see any errors when after following the installation steps but the storefront container is NOT binding to port 3000. These are my current checked out branches for saleor-platform: enter image description here

                                                                                  This is how the container setup looks like. Please note that the saleor-platform-storefront-1 does not have the port bound to 3000: enter image description here

                                                                                  This is how the docker-compose.yml file looks like in saleor-platform folder: enter image description here

                                                                                  This is how the console output looks like after successful compilation: enter image description here

                                                                                  Now if I update the docker-compose.yml file with the following, the URL localhost:3000 is accessible but errors out: enter image description here

                                                                                  I get the error below: enter image description here

                                                                                  ANSWER

                                                                                  Answered 2022-Feb-12 at 14:29

                                                                                  Try this. Change docker-compose.yml file.

                                                                                    storefront:
                                                                                      build:
                                                                                        context: ./saleor-storefront
                                                                                        dockerfile: ./Dockerfile.dev
                                                                                      ports:
                                                                                        - 3000:3000
                                                                                      restart: unless-stopped
                                                                                      #network_mode: "host"
                                                                                      volumes:
                                                                                        - ./saleor-storefront/:/app:cached
                                                                                        - /app/node_modules/
                                                                                      command: npm start -- --host 0.0.0.0
                                                                                      #env_file: common.env
                                                                                  

                                                                                  Source https://stackoverflow.com/questions/70767924

                                                                                  QUESTION

                                                                                  Ingress redirect to a localhost tcp service
                                                                                  Asked 2021-Nov-16 at 10:04

                                                                                  I have a local website. The website was created by a docker-compose and it is listening on a localhost port 3000.

                                                                                  When I try:

                                                                                  curl 127.0.0.1:3000
                                                                                  

                                                                                  I can see the response.

                                                                                  What I did:

                                                                                  From my domain provider I edited the DNS to point to my server, then I changed nginx-ingress:

                                                                                  apiVersion: networking.k8s.io/v1
                                                                                  kind: Ingress
                                                                                  metadata:
                                                                                    name: virtual-host-ingress
                                                                                    namespace: ingress-basic
                                                                                    annotations:
                                                                                      kubernetes.io/ingress.class: nginx
                                                                                      nginx.ingress.kubernetes.io/ssl-redirect: "true"
                                                                                      nginx.ingress.kubernetes.io/use-regex: "true"
                                                                                      cert-manager.io/cluster-issuer: "letsencrypt-pp"
                                                                                  spec:
                                                                                    tls:
                                                                                    - hosts:
                                                                                      - nextformulainvesting.com
                                                                                      secretName: ***
                                                                                    rules:
                                                                                    - host: "nextformulainvesting.com"
                                                                                      http:
                                                                                        paths:
                                                                                        - pathType: Prefix
                                                                                          path: "/"
                                                                                          backend:
                                                                                            service:
                                                                                              name: e-frontend-saleor
                                                                                              port:
                                                                                                number: 80
                                                                                  

                                                                                  and I created the service:

                                                                                  apiVersion: v1
                                                                                  kind: Service
                                                                                  metadata:
                                                                                    name: e-frontend-saleor
                                                                                  spec:
                                                                                    ports:
                                                                                      - protocol: TCP
                                                                                        port: 80
                                                                                        targetPort: 3000
                                                                                  

                                                                                  But with the service or without the service I receive the error 503 Service Temporarily Unavailable.

                                                                                  How can I use nginx-ingress to point to my local TCP service?

                                                                                  ANSWER

                                                                                  Answered 2021-Nov-08 at 06:10

                                                                                  Your service that you have created is for forwarding the traffic to deployments

                                                                                  As your service is running out side of Kubernetes cluster you should be using the Endpoint in this case

                                                                                  apiVersion: v1
                                                                                  kind: Endpoints
                                                                                  metadata:
                                                                                    name: my-service
                                                                                  subsets:
                                                                                    - addresses:
                                                                                        - IP: 
                                                                                      ports:
                                                                                        - port: 3000
                                                                                  

                                                                                  and you can use this Endpoint to ingress so that it will route the traffic.

                                                                                  Ingress

                                                                                  apiVersion: networking.k8s.io/v1
                                                                                  kind: Ingress
                                                                                  metadata:
                                                                                    name: virtual-host-ingress
                                                                                    namespace: ingress-basic
                                                                                    annotations:
                                                                                      kubernetes.io/ingress.class: nginx
                                                                                      nginx.ingress.kubernetes.io/ssl-redirect: "true"
                                                                                      nginx.ingress.kubernetes.io/use-regex: "true"
                                                                                      cert-manager.io/cluster-issuer: "letsencrypt-pp"
                                                                                  spec:
                                                                                    tls:
                                                                                    - hosts:
                                                                                      - nextformulainvesting.com
                                                                                      secretName: ***
                                                                                    rules:
                                                                                    - host: "nextformulainvesting.com"
                                                                                      http:
                                                                                        paths:
                                                                                        - pathType: Prefix
                                                                                          path: "/"
                                                                                          backend:
                                                                                            service:
                                                                                              name: my-service
                                                                                              port:
                                                                                                number: 3000
                                                                                  

                                                                                  Source https://stackoverflow.com/questions/69876923

                                                                                  QUESTION

                                                                                  How can we translate product attribute in Saleor dashboard?
                                                                                  Asked 2021-Sep-29 at 06:09

                                                                                  I checked the translation page on saleor dashboard, but there I can only edit the product attribute name only.

                                                                                  I want to translate the product attributes value.

                                                                                  For example, products has an attribute features. This attribute will have different value for each product. So, I want to translate the value of this attribute not just the attribute name.

                                                                                  Is there a way to do this from dashboard?

                                                                                  ANSWER

                                                                                  Answered 2021-Sep-24 at 11:33

                                                                                  If you are using Saleor 3 you can find it in the translation tab/attributes

                                                                                  Source https://stackoverflow.com/questions/69287764

                                                                                  QUESTION

                                                                                  How to store a JWT refreshToken cookie response
                                                                                  Asked 2021-Sep-25 at 17:48

                                                                                  I'm trying to authenticate a user with JWT using GraphQL. Once I login the user I receive the token as a JSON response and a httponly cookie storing the refresh token. (Server-side is using Saleor-core)

                                                                                  From the documentation of Saleor and some other blog-posts I assume that this response cookie should now be stored in the browser and whenever I need to refresh a token the cookie-refreshToken is used to authenticate my request. However, when I switch tabs to "Application" in my dev tools it's just empty.

                                                                                  What is the normal behaviour of the browser after receiving a cookie response? Do I need some extra code to somehow "save" that response cookie?

                                                                                  Did not really find anyone else having this problem so I think the mistake must be somewhere else.

                                                                                  UPDATE

                                                                                  I read somewhere the issue might be that there is no "secure" flag, which resulted from the server debug mode. I turned it off, but the cookie is still not being set.

                                                                                  Response Headers:

                                                                                  HTTP/1.1 200 OK
                                                                                  Connection: keep-alive
                                                                                  Date: Thu, 23 Sep 2021 13:32:33 GMT
                                                                                  Server: uvicorn
                                                                                  Content-Type: application/json
                                                                                  Access-Control-Allow-Origin: https://rewhite-86006--beta-duoa0dwg.web.app
                                                                                  Access-Control-Allow-Methods: POST, OPTIONS
                                                                                  Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, Authorization-Bearer
                                                                                  Access-Control-Allow-Credentials: true
                                                                                  Content-Length: 912
                                                                                  X-Content-Type-Options: nosniff
                                                                                  Referrer-Policy: same-origin
                                                                                  Set-Cookie: refreshToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MzI0MDM5NTQsIm93bmVyIjoic2FsZW9yIiwiZXhwIjoxNjM0OTk1OTU0LCJ0b2tlbiI6Ijd2b0VmMm1DNlZZSyIsImVtYWlsIjoiSnVsaWFuLkZpbmtlQGdtYWlsLmNvbSIsInR5cGUiOiJyZWZyZXNoIiwidXNlcl9pZCI6IlZYTmxjam8zTmc9PSIsImlzX3N0YWZmIjpmYWxzZSwiY3NyZlRva2VuIjoiWm55ek9xVG9rOU9GYXlDZXY0cjFxMUxnaktnTXRRR0VNUVJEalR1eTJDZ1IyOW1GSVBxQ1B1T1hZcTFQNk92cyJ9.Cl6PmoLkO9Hlh36tDOuyNLQCib4FVBwn32hhnmd7Q4E; expires=Sat, 23 Oct 2021 13:32:34 GMT; HttpOnly; Max-Age=2592000; Path=/; Secure
                                                                                  Via: 1.1 vegur
                                                                                  

                                                                                  Request Headers:

                                                                                  POST /graphql/ HTTP/1.1
                                                                                  Host: rewhite-saleor-engine.herokuapp.com
                                                                                  Connection: keep-alive
                                                                                  Content-Length: 318
                                                                                  Pragma: no-cache
                                                                                  Cache-Control: no-cache
                                                                                  sec-ch-ua: "Google Chrome";v="93", " Not;A Brand";v="99", "Chromium";v="93"
                                                                                  sec-ch-ua-mobile: ?0
                                                                                  User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36
                                                                                  sec-ch-ua-platform: "macOS"
                                                                                  content-type: application/json
                                                                                  Accept: */*
                                                                                  Origin: https://rewhite-86006--beta-duoa0dwg.web.app
                                                                                  Sec-Fetch-Site: cross-site
                                                                                  Sec-Fetch-Mode: cors
                                                                                  Sec-Fetch-Dest: empty
                                                                                  Referer: https://rewhite-86006--beta-duoa0dwg.web.app/
                                                                                  Accept-Encoding: gzip, deflate, br
                                                                                  Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
                                                                                  

                                                                                  Thanks for your help!

                                                                                  ANSWER

                                                                                  Answered 2021-Sep-25 at 17:48

                                                                                  The Domain attribute on you cookie seems to be different from the origin of your request. You're making a cross-site request and receiving a Set Cookie response from the server (of a different domain).

                                                                                  Normally we run into this issue when running backend and frontend on different domains (for e.g. localhost:3000 and localhost:8080).

                                                                                  Solution:

                                                                                  1. Recent Chrome browser versions (from 2020) will only set cookies received from cross-site requests if cookie has SameSite=None and Secure attributes set. With Secure set, a cookie will only be sent to server over HTTPS protocol (you need to implement SSL).
                                                                                    As of now, you don't have set either. SameSite defaults to Lax not None. You need to explicitly set it.

                                                                                  OR

                                                                                  1. You need implement a proxy such that you will request your webapp on https://rewhite-86006--beta-duoa0dwg.web.app and your webapp will proxy this to your Saleor engine domain rewhite-saleor-engine.herokuapp.com. How you do that depends on what frameworks you're using for serving your webapp. You haven't mentioned your it in your question, but I notice you've tagged it under vue.js, so I'll assume that you're using Vue CLI for serving a Vue app.

                                                                                  Its very simple to set up a proxy with Vue CLI. Just look for vue.config.js file in your root directory. If its not there, create it and paste the code below:

                                                                                  module.exports = {
                                                                                      devServer: {
                                                                                          proxy: {
                                                                                              '^/graphql': {
                                                                                                  target: 'https://rewhite-saleor-engine.herokuapp.com',
                                                                                                  changeOrigin: true,
                                                                                                  logLevel: 'debug',
                                                                                              },
                                                                                          },
                                                                                      },
                                                                                  }
                                                                                  

                                                                                  Now instead of fetching the refreshToken from rewhite-saleor-engine.herokuapp.com/graphql, you should send the request to your webapp at https://rewhite-86006--beta-duoa0dwg.web.app/graphql, and your web app local server will forward the request to your Saleor backend on Heroku. To your browser it will appear as though the request's response came form the webapp itself, so it won't be a cross-site request anymore.

                                                                                  Source https://stackoverflow.com/questions/69300226

                                                                                  QUESTION

                                                                                  Change the title of storefront
                                                                                  Asked 2021-Aug-04 at 15:24

                                                                                  I've checked out the latest stable release at tag 2.11.1. As mentioned on 2.11.1 read-me file:

                                                                                  • saleor-storefront/src/index.html - Main template file that contains the - Can change title of storefront here

                                                                                  I have changed the storefront title as suggested above and built by npm run build. Then deployed to a remote server.

                                                                                  Problem

                                                                                  For a brief moment, the storefront title is actually set as I desire:

                                                                                  However, after a moment, the title reverts back to:

                                                                                  What am I missing?

                                                                                  Only home page

                                                                                  When I navigate to any page except home page, the title is set to the one I have inside src/core/config.ts file. But navigating to the home page, results in the above problem!

                                                                                  ANSWER

                                                                                  Answered 2021-Jul-25 at 18:52

                                                                                  Problem is solved!

                                                                                  Saleor dashboard allows to change the storefront title by the Name of your store input field of CONFIGURATION > Site Settings:

                                                                                  Source https://stackoverflow.com/questions/68520681

                                                                                  QUESTION

                                                                                  Running setup.py install for pyxb ... error
                                                                                  Asked 2021-Jul-12 at 15:17

                                                                                  I'm running the command python3.9 -m pip install pyxb in a virtual environment and receiving these errors. I cannot figure out a meaningful message inside the logs. Am I missing something?

                                                                                  (saleor-venv) ec2-user@ip-12-3-3-2:~/repo/fork/saleor> python3.9 -m pip install pyxb
                                                                                  Collecting pyxb
                                                                                    Downloading PyXB-1.2.6.tar.gz (7.0 MB)
                                                                                       |████████████████████████████████| 7.0 MB 4.5 MB/s 
                                                                                  Using legacy 'setup.py install' for pyxb, since package 'wheel' is not installed.
                                                                                  Installing collected packages: pyxb
                                                                                      Running setup.py install for pyxb ... error
                                                                                      ERROR: Command errored out with exit status -9:
                                                                                       command: /home/ec2-user/repo/fork/saleor/saleor-venv/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vkevgofl/install-record.txt --single-version-externally-managed --compile --install-headers /home/ec2-user/repo/fork/saleor/saleor-venv/include/site/python3.9/pyxb                                                                                                  
                                                                                           cwd: /tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/                              
                                                                                      Complete output (357 lines):                                                                            
                                                                                      Found bundle in /tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/pyxb/bundles/dc         
                                                                                      Found bundle in /tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/pyxb/bundles/common     
                                                                                      Found bundle in /tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/pyxb/bundles/wssplat    
                                                                                      Found bundle in /tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/pyxb/bundles/saml20     
                                                                                      running install                                                                                         
                                                                                      running build                                                                                           
                                                                                      running build_py                                                                                        
                                                                                      creating build                                                                                          
                                                                                      creating build/lib                                                                                      
                                                                                      creating build/lib/pyxb                                                                                 
                                                                                      copying pyxb/exceptions_.py -> build/lib/pyxb                                                           
                                                                                      copying pyxb/__init__.py -> build/lib/pyxb                                                              
                                                                                      creating build/lib/pyxb/namespace                                                                       
                                                                                      copying pyxb/namespace/utility.py -> build/lib/pyxb/namespace                                           
                                                                                      copying pyxb/namespace/archive.py -> build/lib/pyxb/namespace                                           
                                                                                      copying pyxb/namespace/__init__.py -> build/lib/pyxb/namespace                                          
                                                                                      copying pyxb/namespace/resolution.py -> build/lib/pyxb/namespace                                        
                                                                                      copying pyxb/namespace/builtin.py -> build/lib/pyxb/namespace                                           
                                                                                      creating build/lib/pyxb/binding                                                                         
                                                                                      copying pyxb/binding/xml_.py -> build/lib/pyxb/binding                                                  
                                                                                      copying pyxb/binding/basis.py -> build/lib/pyxb/binding                                                 
                                                                                      copying pyxb/binding/saxer.py -> build/lib/pyxb/binding                                                 
                                                                                      copying pyxb/binding/content.py -> build/lib/pyxb/binding                                               
                                                                                      copying pyxb/binding/facets.py -> build/lib/pyxb/binding                                                
                                                                                      copying pyxb/binding/datatypes.py -> build/lib/pyxb/binding                                             
                                                                                      copying pyxb/binding/generate.py -> build/lib/pyxb/binding                                              
                                                                                      copying pyxb/binding/__init__.py -> build/lib/pyxb/binding                                              
                                                                                      creating build/lib/pyxb/utils                                                                           
                                                                                      copying pyxb/utils/saxutils.py -> build/lib/pyxb/utils                                                  
                                                                                      copying pyxb/utils/unicode.py -> build/lib/pyxb/utils                                                   
                                                                                      copying pyxb/utils/domutils.py -> build/lib/pyxb/utils                                                  
                                                                                      copying pyxb/utils/unicode_data.py -> build/lib/pyxb/utils                                              
                                                                                      copying pyxb/utils/utility.py -> build/lib/pyxb/utils                                                   
                                                                                      copying pyxb/utils/activestate.py -> build/lib/pyxb/utils                                               
                                                                                      copying pyxb/utils/six.py -> build/lib/pyxb/utils                                                       
                                                                                      copying pyxb/utils/templates.py -> build/lib/pyxb/utils                                                 
                                                                                      copying pyxb/utils/xmlre.py -> build/lib/pyxb/utils                                                     
                                                                                      copying pyxb/utils/__init__.py -> build/lib/pyxb/utils                                                  
                                                                                      copying pyxb/utils/fac.py -> build/lib/pyxb/utils                                                       
                                                                                      copying pyxb/utils/saxdom.py -> build/lib/pyxb/utils                                                    
                                                                                      creating build/lib/pyxb/xmlschema                                                                       
                                                                                      copying pyxb/xmlschema/structures.py -> build/lib/pyxb/xmlschema                                        
                                                                                      copying pyxb/xmlschema/__init__.py -> build/lib/pyxb/xmlschema                                          
                                                                                      creating build/lib/pyxb/bundles                                                                         
                                                                                      copying pyxb/bundles/__init__.py -> build/lib/pyxb/bundles                                              
                                                                                      creating build/lib/pyxb/bundles/dc                                                                      
                                                                                      copying pyxb/bundles/dc/dcterms.py -> build/lib/pyxb/bundles/dc                                         
                                                                                      copying pyxb/bundles/dc/dcmitype.py -> build/lib/pyxb/bundles/dc                                        
                                                                                      copying pyxb/bundles/dc/dc.py -> build/lib/pyxb/bundles/dc                                              
                                                                                      copying pyxb/bundles/dc/__init__.py -> build/lib/pyxb/bundles/dc                                        
                                                                                      creating build/lib/pyxb/bundles/dc/raw                                                                  
                                                                                      copying pyxb/bundles/dc/raw/dcterms.py -> build/lib/pyxb/bundles/dc/raw                                 
                                                                                      copying pyxb/bundles/dc/raw/dcmitype.py -> build/lib/pyxb/bundles/dc/raw                                
                                                                                      copying pyxb/bundles/dc/raw/dc.py -> build/lib/pyxb/bundles/dc/raw                                      
                                                                                      copying pyxb/bundles/dc/raw/__init__.py -> build/lib/pyxb/bundles/dc/raw                                
                                                                                      creating build/lib/pyxb/bundles/common                                                                  
                                                                                      copying pyxb/bundles/common/xsd_hfp.py -> build/lib/pyxb/bundles/common                                 
                                                                                      copying pyxb/bundles/common/xhtml1.py -> build/lib/pyxb/bundles/common                                  
                                                                                      copying pyxb/bundles/common/xlink.py -> build/lib/pyxb/bundles/common                                   
                                                                                      copying pyxb/bundles/common/__init__.py -> build/lib/pyxb/bundles/common                                
                                                                                      creating build/lib/pyxb/bundles/common/raw                                                              
                                                                                      copying pyxb/bundles/common/raw/xsd_hfp.py -> build/lib/pyxb/bundles/common/raw                         
                                                                                      copying pyxb/bundles/common/raw/xhtml1.py -> build/lib/pyxb/bundles/common/raw                          
                                                                                      copying pyxb/bundles/common/raw/xlink.py -> build/lib/pyxb/bundles/common/raw                           
                                                                                      copying pyxb/bundles/common/raw/__init__.py -> build/lib/pyxb/bundles/common/raw                        
                                                                                      creating build/lib/pyxb/bundles/wssplat                                                                 
                                                                                      copying pyxb/bundles/wssplat/httpbind.py -> build/lib/pyxb/bundles/wssplat                              
                                                                                      copying pyxb/bundles/wssplat/wsp.py -> build/lib/pyxb/bundles/wssplat                                   
                                                                                      copying pyxb/bundles/wssplat/wsdlx.py -> build/lib/pyxb/bundles/wssplat                                 
                                                                                      copying pyxb/bundles/wssplat/ds.py -> build/lib/pyxb/bundles/wssplat                                    
                                                                                      copying pyxb/bundles/wssplat/xenc.py -> build/lib/pyxb/bundles/wssplat                                  
                                                                                      copying pyxb/bundles/wssplat/whttp.py -> build/lib/pyxb/bundles/wssplat                                 
                                                                                      copying pyxb/bundles/wssplat/wsrf_bf.py -> build/lib/pyxb/bundles/wssplat                               
                                                                                      copying pyxb/bundles/wssplat/mimebind.py -> build/lib/pyxb/bundles/wssplat                              
                                                                                      copying pyxb/bundles/wssplat/wsdli.py -> build/lib/pyxb/bundles/wssplat                                 
                                                                                      copying pyxb/bundles/wssplat/wsp200607.py -> build/lib/pyxb/bundles/wssplat                             
                                                                                      copying pyxb/bundles/wssplat/soapbind12.py -> build/lib/pyxb/bundles/wssplat                            
                                                                                      copying pyxb/bundles/wssplat/wsa.py -> build/lib/pyxb/bundles/wssplat                                   
                                                                                      copying pyxb/bundles/wssplat/wsse.py -> build/lib/pyxb/bundles/wssplat                                  
                                                                                      copying pyxb/bundles/wssplat/wsrf_br.py -> build/lib/pyxb/bundles/wssplat                               
                                                                                      copying pyxb/bundles/wssplat/soap11.py -> build/lib/pyxb/bundles/wssplat                                
                                                                                      copying pyxb/bundles/wssplat/soapenc.py -> build/lib/pyxb/bundles/wssplat                               
                                                                                      copying pyxb/bundles/wssplat/wscoor.py -> build/lib/pyxb/bundles/wssplat                                
                                                                                      copying pyxb/bundles/wssplat/wsrm.py -> build/lib/pyxb/bundles/wssplat                                  
                                                                                      copying pyxb/bundles/wssplat/__init__.py -> build/lib/pyxb/bundles/wssplat                              
                                                                                      copying pyxb/bundles/wssplat/bpws.py -> build/lib/pyxb/bundles/wssplat                                  
                                                                                      copying pyxb/bundles/wssplat/wsdl20.py -> build/lib/pyxb/bundles/wssplat                                
                                                                                      copying pyxb/bundles/wssplat/sawsdl.py -> build/lib/pyxb/bundles/wssplat                                
                                                                                      copying pyxb/bundles/wssplat/wsoap.py -> build/lib/pyxb/bundles/wssplat                                 
                                                                                      copying pyxb/bundles/wssplat/wstop.py -> build/lib/pyxb/bundles/wssplat                                 
                                                                                      copying pyxb/bundles/wssplat/wsu.py -> build/lib/pyxb/bundles/wssplat                                   
                                                                                      copying pyxb/bundles/wssplat/wsam.py -> build/lib/pyxb/bundles/wssplat                                  
                                                                                      copying pyxb/bundles/wssplat/wsdl11.py -> build/lib/pyxb/bundles/wssplat                                
                                                                                      copying pyxb/bundles/wssplat/soapbind11.py -> build/lib/pyxb/bundles/wssplat                            
                                                                                      copying pyxb/bundles/wssplat/soap12.py -> build/lib/pyxb/bundles/wssplat                                
                                                                                      copying pyxb/bundles/wssplat/wsnt.py -> build/lib/pyxb/bundles/wssplat                                  
                                                                                      creating build/lib/pyxb/bundles/wssplat/raw                                                             
                                                                                      copying pyxb/bundles/wssplat/raw/httpbind.py -> build/lib/pyxb/bundles/wssplat/raw                      
                                                                                      copying pyxb/bundles/wssplat/raw/wsp.py -> build/lib/pyxb/bundles/wssplat/raw                           
                                                                                      copying pyxb/bundles/wssplat/raw/wsdlx.py -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/ds.py -> build/lib/pyxb/bundles/wssplat/raw                            
                                                                                      copying pyxb/bundles/wssplat/raw/xenc.py -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/whttp.py -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/wsrf_bf.py -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/mimebind.py -> build/lib/pyxb/bundles/wssplat/raw                      
                                                                                      copying pyxb/bundles/wssplat/raw/wsdli.py -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/wsp200607.py -> build/lib/pyxb/bundles/wssplat/raw                     
                                                                                      copying pyxb/bundles/wssplat/raw/soapbind12.py -> build/lib/pyxb/bundles/wssplat/raw                    
                                                                                      copying pyxb/bundles/wssplat/raw/wsa.py -> build/lib/pyxb/bundles/wssplat/raw                           
                                                                                      copying pyxb/bundles/wssplat/raw/wsse.py -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/wsrf_br.py -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/soap11.py -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/soapenc.py -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/wscoor.py -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/wsrm.py -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/__init__.py -> build/lib/pyxb/bundles/wssplat/raw                      
                                                                                      copying pyxb/bundles/wssplat/raw/bpws.py -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/wsdl20.py -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/sawsdl.py -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/wsoap.py -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/wstop.py -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/wsu.py -> build/lib/pyxb/bundles/wssplat/raw                           
                                                                                      copying pyxb/bundles/wssplat/raw/wsam.py -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/wsdl11.py -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/soapbind11.py -> build/lib/pyxb/bundles/wssplat/raw                    
                                                                                      copying pyxb/bundles/wssplat/raw/soap12.py -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/wsnt.py -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      creating build/lib/pyxb/bundles/saml20                                                                  
                                                                                      copying pyxb/bundles/saml20/xacml.py -> build/lib/pyxb/bundles/saml20                                   
                                                                                      copying pyxb/bundles/saml20/assertion.py -> build/lib/pyxb/bundles/saml20                               
                                                                                      copying pyxb/bundles/saml20/x500.py -> build/lib/pyxb/bundles/saml20                                    
                                                                                      copying pyxb/bundles/saml20/protocol.py -> build/lib/pyxb/bundles/saml20                                
                                                                                      copying pyxb/bundles/saml20/ecp.py -> build/lib/pyxb/bundles/saml20                                     
                                                                                      copying pyxb/bundles/saml20/__init__.py -> build/lib/pyxb/bundles/saml20                                
                                                                                      copying pyxb/bundles/saml20/metadata.py -> build/lib/pyxb/bundles/saml20                                
                                                                                      copying pyxb/bundles/saml20/dce.py -> build/lib/pyxb/bundles/saml20                                     
                                                                                      creating build/lib/pyxb/bundles/saml20/raw                                                              
                                                                                      copying pyxb/bundles/saml20/raw/xacml.py -> build/lib/pyxb/bundles/saml20/raw                           
                                                                                      copying pyxb/bundles/saml20/raw/assertion.py -> build/lib/pyxb/bundles/saml20/raw                       
                                                                                      copying pyxb/bundles/saml20/raw/x500.py -> build/lib/pyxb/bundles/saml20/raw                            
                                                                                      copying pyxb/bundles/saml20/raw/protocol.py -> build/lib/pyxb/bundles/saml20/raw                        
                                                                                      copying pyxb/bundles/saml20/raw/ecp.py -> build/lib/pyxb/bundles/saml20/raw                             
                                                                                      copying pyxb/bundles/saml20/raw/__init__.py -> build/lib/pyxb/bundles/saml20/raw                        
                                                                                      copying pyxb/bundles/saml20/raw/metadata.py -> build/lib/pyxb/bundles/saml20/raw                        
                                                                                      copying pyxb/bundles/saml20/raw/dce.py -> build/lib/pyxb/bundles/saml20/raw                             
                                                                                      copying pyxb/bundles/dc/raw/dc.wxs -> build/lib/pyxb/bundles/dc/raw                                     
                                                                                      copying pyxb/bundles/common/raw/xhtml1.wxs -> build/lib/pyxb/bundles/common/raw                         
                                                                                      copying pyxb/bundles/common/raw/xsd_hfp.wxs -> build/lib/pyxb/bundles/common/raw                        
                                                                                      copying pyxb/bundles/common/raw/xlink.wxs -> build/lib/pyxb/bundles/common/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/httpbind.wxs -> build/lib/pyxb/bundles/wssplat/raw                     
                                                                                      copying pyxb/bundles/wssplat/raw/ds.wxs -> build/lib/pyxb/bundles/wssplat/raw                           
                                                                                      copying pyxb/bundles/wssplat/raw/wsdli.wxs -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/soap12.wxs -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/wsoap.wxs -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/wsrf_bf.wxs -> build/lib/pyxb/bundles/wssplat/raw                      
                                                                                      copying pyxb/bundles/wssplat/raw/soapbind12.wxs -> build/lib/pyxb/bundles/wssplat/raw                   
                                                                                      copying pyxb/bundles/wssplat/raw/wsnt.wxs -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/wscoor.wxs -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/wsrm.wxs -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/wsse.wxs -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/soapenc.wxs -> build/lib/pyxb/bundles/wssplat/raw                      
                                                                                      copying pyxb/bundles/wssplat/raw/wsdl11.wxs -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/wsu.wxs -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/whttp.wxs -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/wsp.wxs -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/wsa.wxs -> build/lib/pyxb/bundles/wssplat/raw                          
                                                                                      copying pyxb/bundles/wssplat/raw/wsdl20.wxs -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/xenc.wxs -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/wsdlx.wxs -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/sawsdl.wxs -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/soapbind11.wxs -> build/lib/pyxb/bundles/wssplat/raw                   
                                                                                      copying pyxb/bundles/wssplat/raw/soap11.wxs -> build/lib/pyxb/bundles/wssplat/raw                       
                                                                                      copying pyxb/bundles/wssplat/raw/bpws.wxs -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/wssplat/raw/mimebind.wxs -> build/lib/pyxb/bundles/wssplat/raw                     
                                                                                      copying pyxb/bundles/wssplat/raw/wstop.wxs -> build/lib/pyxb/bundles/wssplat/raw                        
                                                                                      copying pyxb/bundles/wssplat/raw/wsrf_br.wxs -> build/lib/pyxb/bundles/wssplat/raw                      
                                                                                      copying pyxb/bundles/wssplat/raw/wsp200607.wxs -> build/lib/pyxb/bundles/wssplat/raw                    
                                                                                      copying pyxb/bundles/wssplat/raw/wsam.wxs -> build/lib/pyxb/bundles/wssplat/raw                         
                                                                                      copying pyxb/bundles/saml20/raw/xacml.wxs -> build/lib/pyxb/bundles/saml20/raw                          
                                                                                      copying pyxb/bundles/saml20/raw/protocol.wxs -> build/lib/pyxb/bundles/saml20/raw                       
                                                                                      copying pyxb/bundles/saml20/raw/x500.wxs -> build/lib/pyxb/bundles/saml20/raw                           
                                                                                      copying pyxb/bundles/saml20/raw/metadata.wxs -> build/lib/pyxb/bundles/saml20/raw                       
                                                                                      copying pyxb/bundles/saml20/raw/dce.wxs -> build/lib/pyxb/bundles/saml20/raw                            
                                                                                      copying pyxb/bundles/saml20/raw/ecp.wxs -> build/lib/pyxb/bundles/saml20/raw                            
                                                                                      copying pyxb/bundles/saml20/raw/assertion.wxs -> build/lib/pyxb/bundles/saml20/raw                      
                                                                                      running build_scripts                                                                                   
                                                                                      creating build/scripts-3.9                                                                              
                                                                                      copying and adjusting scripts/pyxbgen -> build/scripts-3.9                                              
                                                                                      copying and adjusting scripts/pyxbwsdl -> build/scripts-3.9                                             
                                                                                      copying and adjusting scripts/pyxbdump -> build/scripts-3.9                                             
                                                                                      changing mode of build/scripts-3.9/pyxbgen from 644 to 755                                              
                                                                                      changing mode of build/scripts-3.9/pyxbwsdl from 644 to 755                                             
                                                                                      changing mode of build/scripts-3.9/pyxbdump from 644 to 755                                             
                                                                                      running install_lib                                                                                     
                                                                                      copying build/lib/pyxb/exceptions_.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb                                                                                               
                                                                                      copying build/lib/pyxb/__init__.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb                                                                                                  
                                                                                      copying build/lib/pyxb/namespace/utility.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/namespace                                                                               
                                                                                      copying build/lib/pyxb/namespace/archive.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/namespace                                                                               
                                                                                      copying build/lib/pyxb/namespace/__init__.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/namespace                                                                              
                                                                                      copying build/lib/pyxb/namespace/resolution.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/namespace                                                                            
                                                                                      copying build/lib/pyxb/namespace/builtin.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/namespace                                                                               
                                                                                      copying build/lib/pyxb/binding/xml_.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/binding                                                                                      
                                                                                      copying build/lib/pyxb/binding/basis.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/binding                                                                                     
                                                                                  
                                                                                  ...
                                                                                  
                                                                                      copying build/lib/pyxb/bundles/saml20/dce.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20                                                                         
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/xacml.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                               
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/assertion.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                           
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/x500.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                                
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/protocol.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                            
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/ecp.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                                 
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/__init__.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                            
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/metadata.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                            
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/dce.py -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw                                                                 
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/xacml.wxs -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/protocol.wxs -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/x500.wxs -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/metadata.wxs -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/dce.wxs -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/ecp.wxs -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw
                                                                                      copying build/lib/pyxb/bundles/saml20/raw/assertion.wxs -> /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/saml20/raw
                                                                                      byte-compiling /home/ec2-user/repo/fork/saleor/saleor-venv/lib/python3.9/site-packages/pyxb/bundles/common/raw/xhtml1.py to xhtml1.cpython-39.pyc
                                                                                      ----------------------------------------
                                                                                  ERROR: Command errored out with exit status -9: /home/ec2-user/repo/fork/saleor/saleor-venv/bin/python3.9 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ofpqfy5f/pyxb_5f99ab2ae6bd48aeb20205fc5a95659a/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-vkevgofl/install-record.txt --single-version-externally-managed --compile --install-headers /home/ec2-user/repo/fork/saleor/saleor-venv/include/site/python3.9/pyxb Check the logs for full command output.
                                                                                  

                                                                                  ANSWER

                                                                                  Answered 2021-Jul-12 at 15:17

                                                                                  The error got resolved by running:

                                                                                  (saleor-venv) ec2-user@ip-12-3-3-2:~/repo/fork/saleor> python3.9 -m pip install wheel
                                                                                  

                                                                                  Source https://stackoverflow.com/questions/68337410

                                                                                  QUESTION

                                                                                  Git clone is not working due to bad file path
                                                                                  Asked 2021-Jun-08 at 03:52
                                                                                  Problem

                                                                                  Git cloning the repository on a Windows 10 machine throws this error:

                                                                                  error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'

                                                                                  fatal: unable to checkout working tree

                                                                                  warning: Clone succeeded, but checkout failed.

                                                                                  >git clone https://github.com/mirumee/saleor.git
                                                                                  Cloning into 'saleor'...
                                                                                  remote: Enumerating objects: 187180, done.
                                                                                  remote: Counting objects: 100% (289/289), done.
                                                                                  remote: Compressing objects: 100% (225/225), done.
                                                                                  remote: Total 187180 (delta 136), reused 131 (delta 64), pack-reused 186891
                                                                                  Receiving objects: 100% (187180/187180), 105.28 MiB | 234.00 KiB/s, done.
                                                                                  Resolving deltas: 100% (137187/137187), done.
                                                                                  error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'
                                                                                  fatal: unable to checkout working tree
                                                                                  warning: Clone succeeded, but checkout failed.
                                                                                  You can inspect what was checked out with 'git status'
                                                                                  and retry with 'git restore --source=HEAD :/'
                                                                                  
                                                                                  Tried

                                                                                  I tried this approach but it didn't work at the last step:

                                                                                  $ git init saleor
                                                                                  $ cd saleor
                                                                                  $ git remote add origin https://gitzzz.com/yyy/saleor.git -f
                                                                                  

                                                                                  So far so good, but this command throws error:

                                                                                  $ git checkout origin/master -f
                                                                                  error: invalid path 'saleor/graphql/core/tests/cassettes/test_get_oembed_data[http:/www.youtube.com/watch?v=dQw4w9WgXcQ-VIDEO].yaml'
                                                                                  
                                                                                  Tried

                                                                                  Also, this approach didn't help.

                                                                                  Question

                                                                                  How can I clone/checkout this repo on Windows?

                                                                                  Solution

                                                                                  The option suggested by @bk2204 resolved the issue:

                                                                                  1. Fork the repository
                                                                                  2. Clone the fork on Linux
                                                                                  3. Change the path names on Linux
                                                                                  4. Commit and push
                                                                                  5. Then check out the fixed fork on Windows

                                                                                  ANSWER

                                                                                  Answered 2021-Jun-07 at 21:17

                                                                                  The problem here is that the path contains both colons and question marks and you're likely on a Windows system. Windows has made a deliberate decision not to allow these characters in path names, so there's no way to check this file out there.

                                                                                  You have some options:

                                                                                  • Use a different operating system, like macOS or Linux.
                                                                                  • Check the file out using the Windows Subsystem for Linux, which doesn't suffer from these limitations.
                                                                                  • Ask the party responsible for the repository to change the path name or do it yourself in another environment, then check out the fixed repo.
                                                                                  • Ask Microsoft to fix this problem.
                                                                                  • Don't use this repo.

                                                                                  Source https://stackoverflow.com/questions/67873617

                                                                                  Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                                                                                  Vulnerabilities

                                                                                  No vulnerabilities reported

                                                                                  Install saleor

                                                                                  Saleor requires Python 3.8, Node.js 10.0+, PostgreSQL and OS-specific dependency tools. See the Saleor docs for step-by-step installation and deployment instructions. Note: The master branch is the development version of Saleor and it may be unstable. To use the latest stable version, download it from the Releases page or switch to a release tag.
                                                                                  Saleor: https://github.com/mirumee/saleor/releases/tag/2.11.1
                                                                                  Dashboard: https://github.com/mirumee/saleor-dashboard/releases/tag/2.11.1
                                                                                  Storefront: https://github.com/mirumee/saleor-storefront/releases/tag/2.11.0

                                                                                  Support

                                                                                  Saleor documentation is available here: docs.saleor.io. To contribute, please see the mirumee/saleor-docs repository.
                                                                                  Find more information at:
                                                                                  Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                  Find more libraries
                                                                                  Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                  Save this library and start creating your kit
                                                                                  Install
                                                                                • PyPI

                                                                                  pip install saleor

                                                                                • CLONE
                                                                                • HTTPS

                                                                                  https://github.com/mirumee/saleor.git

                                                                                • CLI

                                                                                  gh repo clone mirumee/saleor

                                                                                • sshUrl

                                                                                  git@github.com:mirumee/saleor.git

                                                                                • Share this Page

                                                                                  share link

                                                                                  Explore Related Topics

                                                                                  Consider Popular Ecommerce Libraries

                                                                                  saleor

                                                                                  by saleor

                                                                                  saleor

                                                                                  by mirumee

                                                                                  spree

                                                                                  by spree

                                                                                  reaction

                                                                                  by reactioncommerce

                                                                                  medusa

                                                                                  by medusajs

                                                                                  Try Top Libraries by mirumee

                                                                                  ariadne

                                                                                  by mirumeePython

                                                                                  satchless

                                                                                  by mirumeePython

                                                                                  saleor-storefront

                                                                                  by mirumeeTypeScript

                                                                                  django-payments

                                                                                  by mirumeePython

                                                                                  saleor-dashboard

                                                                                  by mirumeeTypeScript

                                                                                  Compare Ecommerce Libraries with Highest Support

                                                                                  saleor

                                                                                  by mirumee

                                                                                  magento2

                                                                                  by magento

                                                                                  woocommerce

                                                                                  by woocommerce

                                                                                  shopizer

                                                                                  by shopizer-ecommerce

                                                                                  spree

                                                                                  by spree

                                                                                  Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                  Find more libraries
                                                                                  Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                  Save this library and start creating your kit