Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

poetry install fails because a space in path to env #3013

Closed
2 of 3 tasks
fcruzel opened this issue Oct 1, 2020 · 10 comments · Fixed by #3015
Closed
2 of 3 tasks

poetry install fails because a space in path to env #3013

fcruzel opened this issue Oct 1, 2020 · 10 comments · Fixed by #3015
Labels
kind/bug Something isn't working as expected
Milestone

Comments

@fcruzel
Copy link

fcruzel commented Oct 1, 2020

  • I am on the latest Poetry version.

    I'm on 1.1.0rc1

  • I have searched the issues of this repo and believe that this is not a duplicate.

    There are issues that deal with this error but are one or two years old, are closed or marked as fixed and the error output message is different.

  • If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).

Issue

poetry install throws the next error:

  EnvCommandError

  Command "C:\Users\John Smith\AppData\Local\pypoetry\Cache\virtualenvs\dge-bot-KUpJK1g6-py3.7\Scripts\pip.exe" install --no-deps C:\Users\John Smith\AppData\Local\pypoetry\Cache\artifacts\61\a4\b1\1096e79aeb46c7d99c2c17427ce252e25c6bf439f2b2747770cbcda517\zipp-3.2.0-py3-none-any.whl errored with the following return code 1, and output:       
  ERROR: Invalid requirement: 'C:\\Users\\John'
  Hint: It looks like a path. It does exist.
  WARNING: You are using pip version 20.2.2; however, version 20.2.3 is available.
  You should consider upgrading via the 'C:\Users\John Smith\AppData\Local\pypoetry\Cache\virtualenvs\dge-bot-KUpJK1g6-py3.7\Scripts\python.exe -m pip install --upgrade pip' command.


  at c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\utils\env.py:944 in _run
       940│                 output = subprocess.check_output(
       941│                     cmd, stderr=subprocess.STDOUT, **kwargs
       942│                 )
       943│         except CalledProcessError as e:
    →  944│             raise EnvCommandError(e, input=input_)
       945│
       946│         return decode(output)
       947│
       948│     def execute(self, bin, *args, **kwargs):

The error seems to be caused because there's a space in my username, that's included in the path to the virtualenv.

This error has been reported before (#199, #657), but in those instances the error was fixed. This one is happening in the latest version of Poetry.

@fcruzel fcruzel added kind/bug Something isn't working as expected status/triage This issue needs to be triaged labels Oct 1, 2020
@abn
Copy link
Member

abn commented Oct 1, 2020

@cruzelante098 can you provided the -vvv output please? Seems that the command itself is being passed into pip.

  Command "C:\Users\John Smith\AppData\Local\pypoetry\Cache\virtualenvs\dge-bot-KUpJK1g6-py3.7\Scripts\pip.exe" install --no-deps C:\Users\John Smith\AppData\Local\pypoetry\Cache\artifacts\61\a4\b1\1096e79aeb46c7d99c2c17427ce252e25c6bf439f2b2747770cbcda517\zipp-3.2.0-py3-none-any.whl errored with the following return code 1, and output:       
  ERROR: Invalid requirement: 'C:\\Users\\John'

The ERROR is from pip, not your shell. This is different to #199 and #657.

EDIT: realised just after writing this that the issue is that arguments are not quoted.

@fcruzel
Copy link
Author

fcruzel commented Oct 1, 2020

@abn here's the -vvv output:

-vvv output
$  poetry install -vvv 

Using virtualenv: C:\Users\John Smith\AppData\Local\pypoetry\Cache\virtualenvs\dge-bot-jrDf5u8l-py3.7
Installing dependencies from lock file

Finding the necessary packages for the current system

Package operations: 143 installs, 0 updates, 0 removals, 26 skipped

� Removing uvloop (0.14.0): Skipped for the following reason: Not currently installed
� Installing idna (2.10): Skipped for the following reason: Already installed
� Installing multidict (4.7.6): Skipped for the following reason: Already installed
� Installing typing-extensions (3.7.4.3): Skipped for the following reason: Already installed
� Installing async-timeout (3.0.1): Skipped for the following reason: Already installed
� Installing attrs (19.3.0): Skipped for the following reason: Already installed
� Installing certifi (2020.6.20): Skipped for the following reason: Already installed
� Installing chardet (3.0.4): Skipped for the following reason: Already installed
� Installing hpack (3.0.0): Skipped for the following reason: Already installed
� Installing hyperframe (5.2.0): Skipped for the following reason: Already installed
� Installing pyasn1 (0.4.8): Skipped for the following reason: Already installed
� Installing urllib3 (1.25.10): Skipped for the following reason: Already installed
� Installing yarl (1.6.0): Skipped for the following reason: Already installed
� Installing aiohttp (3.6.2): Skipped for the following reason: Already installed
� Installing cachetools (4.1.1): Skipped for the following reason: Already installed
� Installing h2 (3.2.0): Skipped for the following reason: Already installed
� Installing hstspreload (2020.9.29): Skipped for the following reason: Already installed
� Installing pyasn1-modules (0.2.8): Skipped for the following reason: Already installed
� Installing h11 (0.8.1): Skipped for the following reason: Already installed
� Installing rsa (4.6): Skipped for the following reason: Already installed
� Installing oauthlib (3.1.0): Skipped for the following reason: Already installed
� Installing zipp (3.2.0): Skipped for the following reason: Already installed
� Installing rfc3986 (1.4.0): Skipped for the following reason: Already installed
� Installing sniffio (1.1.0): Skipped for the following reason: Already installed
� Installing six (1.15.0): Skipped for the following reason: Already installed
� Installing requests (2.24.0): Skipped for the following reason: Already installed
� Installing aiofiles (0.5.0)
� Installing google-auth (1.22.0)
� Installing httptools (0.1.1)
� Installing importlib-metadata (2.0.0)
� Installing numpy (1.18.5)
� Installing httpx (0.9.3)
� Installing requests-oauthlib (1.3.0)
� Installing websockets (8.1)
� Installing absl-py (0.9.0)
� Installing google-auth-oauthlib (0.4.1)
� Installing grpcio (1.32.0)
� Installing h5py (2.10.0)
� Installing jmespath (0.10.0)
� Installing markdown (3.2.2)
� Installing protobuf (3.13.0)
� Installing pycparser (2.20)
� Installing pyreadline (2.1)
� Installing python-dateutil (2.8.1)
� Installing werkzeug (1.0.1)
� Installing sanic (19.12.2)

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

Stack trace:

7 c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\installation\executor.py:179 in _execute_operation

@fcruzel
Copy link
Author

fcruzel commented Oct 1, 2020

That was quick. Thank you @abn

abn added a commit to abn/poetry that referenced this issue Oct 1, 2020
abn added a commit to abn/poetry that referenced this issue Oct 1, 2020
@abn abn closed this as completed in #3015 Oct 1, 2020
abn added a commit that referenced this issue Oct 1, 2020
@abn abn removed the status/triage This issue needs to be triaged label Oct 1, 2020
@abn abn added this to the 1.1 milestone Oct 1, 2020
@fcruzel
Copy link
Author

fcruzel commented Oct 1, 2020

@abn the new release (1.1.0) works fine now but there's a new error related to pyreadline. The pyproject.toml remains the same as before, I just moved to a new project to test it and set it to create the env in the project folder:

λ poetry install -vvv
Using virtualenv: C:\Users\John Smith\Repositorios\test\.venv
Installing dependencies from lock file

Finding the necessary packages for the current system

Package operations: 1 install, 0 updates, 0 removals, 169 skipped

  • Removing uvloop (0.14.0): Pending...
  • Removing uvloop (0.14.0): Skipped for the following reason: Not currently installed
  • Installing idna (2.10): Pending...
  • Installing idna (2.10): Skipped for the following reason: Already installed
  • Installing multidict (4.7.6): Pending...
  • Installing multidict (4.7.6): Skipped for the following reason: Already installed
  • Installing typing-extensions (3.7.4.3): Pending...
  • Installing typing-extensions (3.7.4.3): Skipped for the following reason: Already installed
  • Installing async-timeout (3.0.1): Pending...
  • Installing async-timeout (3.0.1): Skipped for the following reason: Already installed
  • Installing attrs (19.3.0): Pending...
  • Installing attrs (19.3.0): Skipped for the following reason: Already installed
  • Installing certifi (2020.6.20): Pending...
  • Installing certifi (2020.6.20): Skipped for the following reason: Already installed
  • Installing chardet (3.0.4): Pending...
  • Installing chardet (3.0.4): Skipped for the following reason: Already installed
  • Installing hpack (3.0.0): Pending...
  • Installing hpack (3.0.0): Skipped for the following reason: Already installed
  • Installing hyperframe (5.2.0): Pending...
  • Installing hyperframe (5.2.0): Skipped for the following reason: Already installed
  • Installing urllib3 (1.25.10): Pending...
  • Installing urllib3 (1.25.10): Skipped for the following reason: Already installed
  • Installing yarl (1.6.0): Pending...
  • Installing yarl (1.6.0): Skipped for the following reason: Already installed
  • Installing pyasn1 (0.4.8): Pending...
  • Installing pyasn1 (0.4.8): Skipped for the following reason: Already installed
  • Installing aiohttp (3.6.2): Pending...
  • Installing aiohttp (3.6.2): Skipped for the following reason: Already installed
  • Installing cachetools (4.1.1): Pending...
  • Installing cachetools (4.1.1): Skipped for the following reason: Already installed
  • Installing h11 (0.8.1): Pending...
  • Installing h11 (0.8.1): Skipped for the following reason: Already installed
  • Installing h2 (3.2.0): Pending...
  • Installing h2 (3.2.0): Skipped for the following reason: Already installed
  • Installing hstspreload (2020.9.29): Pending...
  • Installing hstspreload (2020.9.29): Skipped for the following reason: Already installed
  • Installing oauthlib (3.1.0): Pending...
  • Installing oauthlib (3.1.0): Skipped for the following reason: Already installed
  • Installing pyasn1-modules (0.2.8): Pending...
  • Installing pyasn1-modules (0.2.8): Skipped for the following reason: Already installed
  • Installing requests (2.24.0): Pending...
  • Installing requests (2.24.0): Skipped for the following reason: Already installed
  • Installing rfc3986 (1.4.0): Pending...
  • Installing rfc3986 (1.4.0): Skipped for the following reason: Already installed
  • Installing rsa (4.6): Pending...
  • Installing rsa (4.6): Skipped for the following reason: Already installed
  • Installing six (1.15.0): Pending...
  • Installing six (1.15.0): Skipped for the following reason: Already installed
  • Installing sniffio (1.1.0): Pending...
  • Installing sniffio (1.1.0): Skipped for the following reason: Already installed
  • Installing zipp (3.2.0): Pending...
  • Installing zipp (3.2.0): Skipped for the following reason: Already installed
  • Installing aiofiles (0.5.0): Pending...
  • Installing aiofiles (0.5.0): Skipped for the following reason: Already installed
  • Installing google-auth (1.22.0): Pending...
  • Installing google-auth (1.22.0): Skipped for the following reason: Already installed
  • Installing httpx (0.9.3): Pending...
  • Installing httpx (0.9.3): Skipped for the following reason: Already installed
  • Installing importlib-metadata (2.0.0): Pending...
  • Installing importlib-metadata (2.0.0): Skipped for the following reason: Already installed
  • Installing numpy (1.19.2): Pending...
  • Installing numpy (1.19.2): Skipped for the following reason: Already installed
  • Installing requests-oauthlib (1.3.0): Pending...
  • Installing requests-oauthlib (1.3.0): Skipped for the following reason: Already installed
  • Installing websockets (8.1): Pending...
  • Installing websockets (8.1): Skipped for the following reason: Already installed
  • Installing httptools (0.1.1): Pending...
  • Installing httptools (0.1.1): Skipped for the following reason: Already installed
  • Installing absl-py (0.9.0): Pending...
  • Installing absl-py (0.9.0): Skipped for the following reason: Already installed
  • Installing google-auth-oauthlib (0.4.1): Pending...
  • Installing google-auth-oauthlib (0.4.1): Skipped for the following reason: Already installed
  • Installing grpcio (1.32.0): Pending...
  • Installing grpcio (1.32.0): Skipped for the following reason: Already installed
  • Installing h5py (2.10.0): Pending...
  • Installing h5py (2.10.0): Skipped for the following reason: Already installed
  • Installing jmespath (0.10.0): Pending...
  • Installing jmespath (0.10.0): Skipped for the following reason: Already installed
  • Installing markdown (3.2.2): Pending...
  • Installing markdown (3.2.2): Skipped for the following reason: Already installed
  • Installing protobuf (3.13.0): Pending...
  • Installing protobuf (3.13.0): Skipped for the following reason: Already installed
  • Installing pycparser (2.20): Pending...
  • Installing pycparser (2.20): Skipped for the following reason: Already installed

  • Installing pyreadline (2.1): Downloading... 100%
  • Installing pyreadline (2.1): Installing...
  • Installing pyreadline (2.1): Failed

  EnvCommandError

  Command "C:\Users\John Smith\Repositorios\test\.venv\Scripts\pip.exe" install --no-deps "C:\Users\John Smith\AppData\Local\pypoetry\Cache\artifacts\40\b7\a1\08d80a4ee91ede614be15e9ad0add0d8f7c093a6d2f75c2b1e5239c365\pyreadline-2.1.win32.exe" errored with the following return code 2, and output:
  ERROR: Exception:
  Traceback (most recent call last):
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\packaging\requirements.py", line 98, in __init__
      req = REQUIREMENT.parseString(requirement_string)
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\pyparsing.py", line 1955, in parseString
      raise exc
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\pyparsing.py", line 3814, in parseImpl
      raise ParseException(instring, loc, self.errmsg, self)
  pip._vendor.pyparsing.ParseException: Expected stringEnd, found ':'  (at char 1), (line:1, col:2)

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 359, in parse_req_from_line
      req = Requirement(req_as_string)
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\packaging\requirements.py", line 102, in __init__
      requirement_string[e.loc : e.loc + 8], e.msg
  pip._vendor.packaging.requirements.InvalidRequirement: Parse error at "':\\Users\\'": Expected stringEnd

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\cli\base_command.py", line 216, in _main
      status = self.run(options, args)
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\cli\req_command.py", line 182, in wrapper
      return func(self, options, args)
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\commands\install.py", line 295, in run
      reqs = self.get_requirements(args, options, finder, session)
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\cli\req_command.py", line 319, in get_requirements
      user_supplied=True,
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 409, in install_req_from_line
      parts = parse_req_from_line(name, line_source)
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 363, in parse_req_from_line
      add_msg += deduce_helpful_msg(req_as_string)
    File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 167, in deduce_helpful_msg
      next(parse_requirements(fp.read()))
    File "c:\users\john smith\appdata\local\programs\python\python37\lib\encodings\cp1252.py", line 23, in decode
      return codecs.charmap_decode(input,self.errors,decoding_table)[0]
  UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2: character maps to <undefined>
  WARNING: You are using pip version 20.2.2; however, version 20.2.3 is available.
  You should consider upgrading via the 'C:\Users\John Smith\Repositorios\test\.venv\Scripts\python.exe -m pip install --upgrade pip' command.


  at c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\utils\env.py:948 in _run
       944│                 output = subprocess.check_output(
       945│                     cmd, stderr=subprocess.STDOUT, **kwargs
       946│                 )
       947│         except CalledProcessError as e:
    →  948│             raise EnvCommandError(e, input=input_)
       949│
       950│         return decode(output)
       951│
       952│     def execute(self, bin, *args, **kwargs):

  • Installing python-dateutil (2.8.1): Pending...
  • Installing python-dateutil (2.8.1): Skipped for the following reason: Already installed
  • Installing sanic (19.12.2): Pending...
  • Installing sanic (19.12.2): Skipped for the following reason: Already installed
  • Installing werkzeug (1.0.1): Pending...
  • Installing werkzeug (1.0.1): Skipped for the following reason: Already installed

Edit:

I was testing it with Poetry v1.1.0rc1 and found that the error that was fixed in 1.1.0 by #3015 was also caused by the same library, pyreadline, only that the error message was different:

$ poetry --version
Poetry version 1.1.0rc1

$ poetry install -vvv

# output about installing packages...

  • Installing protobuf (3.13.0): Pending...
  • Installing protobuf (3.13.0): Skipped for the following reason: Already installed
  • Installing pycparser (2.20): Pending...
  • Installing pycparser (2.20): Skipped for the following reason: Already installed

  • Installing pyreadline (2.1): Downloading... 100%
  • Installing pyreadline (2.1): Installing...
  • Installing pyreadline (2.1): Failed

  EnvCommandError

  Command "C:\Users\John Smith\Repositorios\test\.venv\Scripts\pip.exe" install --no-deps C:\Users\John Smith\AppData\Local\pypoetry\Cache\artifacts\40\b7\a1\08d80a4ee91ede614be15e9ad0add0d8f7c093a6d2f75c2b1e5239c365\pyreadline-2.1.win32.exe errored with the following return code 1, and output:
  ERROR: Invalid requirement: 'C:\\Users\\John'
  Hint: It looks like a path. It does exist.
  WARNING: You are using pip version 20.2.2; however, version 20.2.3 is available.
  You should consider upgrading via the 'C:\Users\John Smith\Repositorios\test\.venv\Scripts\python.exe -m pip install --upgrade pip' command.


  at c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\utils\env.py:944 in _run
       940│                 output = subprocess.check_output(
       941│                     cmd, stderr=subprocess.STDOUT, **kwargs
       942│                 )
       943│         except CalledProcessError as e:
    →  944│             raise EnvCommandError(e, input=input_)
       945│
       946│         return decode(output)
       947│
       948│     def execute(self, bin, *args, **kwargs):

  • Installing python-dateutil (2.8.1): Pending...
  • Installing python-dateutil (2.8.1): Skipped for the following reason: Already installed
  • Installing sanic (19.12.2): Pending...
  • Installing sanic (19.12.2): Skipped for the following reason: Already installed
  • Installing werkzeug (1.0.1): Pending...
  • Installing werkzeug (1.0.1): Skipped for the following reason: Already installed

Edit 2:

This issue can be circunvented by installing the package with pip with the virtualenv activated:

poetry run pip install pyreadline
poetry install # will continue without issues

@abn
Copy link
Member

abn commented Oct 2, 2020

@cruzelante098 does this work in at all?

"C:\Users\John Smith\Repositorios\test\.venv\Scripts\pip.exe" install --no-deps "C:\Users\John Smith\AppData\Local\pypoetry\Cache\artifacts\40\b7\a1\08d80a4ee91ede614be15e9ad0add0d8f7c093a6d2f75c2b1e5239c365\pyreadline-2.1.win32.exe"

And when doing poetry run pip install pyreadline is it installing from sdist or exe?

@fcruzel
Copy link
Author

fcruzel commented Oct 2, 2020

The command throws the same error:

C:\Users\John Smith\Repositorios\test  
(.venv) $ "C:\Users\John Smith\Repositorios\test\.venv\Scripts\pip.exe" install --no-deps "C:\Users\John Smith\AppData\Local\pypoetry\Cache\artifacts\40\b7\a1\08d80a4ee91ede614be15e9ad0add0d8f7c093a6d2f75c2b1e5239c365\pyreadline-2.1.win32.exe"

ERROR: Exception:
Traceback (most recent call last):
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\packaging\requirements.py", line 98, in __init__
    req = REQUIREMENT.parseString(requirement_string)
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\pyparsing.py", line 1955, in parseString
    raise exc
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\pyparsing.py", line 3814, in parseImpl
    raise ParseException(instring, loc, self.errmsg, self)
pip._vendor.pyparsing.ParseException: Expected stringEnd, found ':'  (at char 1), (line:1, col:2)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 359, in parse_req_from_line
    req = Requirement(req_as_string)
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_vendor\packaging\requirements.py", line 102, in __init__
    requirement_string[e.loc : e.loc + 8], e.msg
pip._vendor.packaging.requirements.InvalidRequirement: Parse error at "':\\Users\\'": Expected stringEnd

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\cli\base_command.py", line 216, in _main
    status = self.run(options, args)
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\cli\req_command.py", line 182, in wrapper
    return func(self, options, args)
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\commands\install.py", line 295, in run
    reqs = self.get_requirements(args, options, finder, session)
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\cli\req_command.py", line 319, in get_requirements
    user_supplied=True,
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 409, in install_req_from_line
    parts = parse_req_from_line(name, line_source)
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 363, in parse_req_from_line
    add_msg += deduce_helpful_msg(req_as_string)
  File "C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip\_internal\req\constructors.py", line 167, in deduce_helpful_msg
    next(parse_requirements(fp.read()))
  File "c:\users\john smith\appdata\local\programs\python\python37\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 2: character maps to <undefined>
WARNING: You are using pip version 20.2.2; however, version 20.2.3 is available.
You should consider upgrading via the 'C:\Users\John Smith\Repositorios\test\.venv\Scripts\python.exe -m pip install --upgrade pip' command.

And when doing poetry run pip install pyreadline is it installing from sdist or exe?

I'd say that is installing it from sdist since poetry run pip install pyreadline -vvv print a lot of logs saying Skipping link: unsupported archive format: .exe; however, I'm not sure at all.

(.venv) $ poetry run pip install pyreadline -vvv

Using pip 20.2.2 from C:\Users\John Smith\Repositorios\test\.venv\lib\site-packages\pip (python 3.7)
Non-user install because user site-packages disabled
Created temporary directory: C:\Users\JOHNSM~1\AppData\Local\Temp\pip-ephem-wheel-cache-p4v88tpb
Created temporary directory: C:\Users\JOHNSM~1\AppData\Local\Temp\pip-req-tracker-294l1jrl
Initialized build tracking at C:\Users\JOHNSM~1\AppData\Local\Temp\pip-req-tracker-294l1jrl
Created build tracker: C:\Users\JOHNSM~1\AppData\Local\Temp\pip-req-tracker-294l1jrl
Entered build tracker: C:\Users\JOHNSM~1\AppData\Local\Temp\pip-req-tracker-294l1jrl
Created temporary directory: C:\Users\JOHNSM~1\AppData\Local\Temp\pip-install-qrnv3f71
1 location(s) to search for versions of pyreadline:
* https://pypi.org/simple/pyreadline/
Fetching project page and analyzing links: https://pypi.org/simple/pyreadline/
Getting page https://pypi.org/simple/pyreadline/
Found index url https://pypi.org/simple
Looking up "https://pypi.org/simple/pyreadline/" in the cache
Request header has "max_age" as 0, cache bypassed
Starting new HTTPS connection (1): pypi.org:443
https://pypi.org:443 "GET /simple/pyreadline/ HTTP/1.1" 304 0
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/66/ca/7a42dcffe3cbc1fcddb6e75ff51e5bd8e00d05c22d4c8380c59eac24da89/pyreadline-1.5-win32-setup.exe#sha256=ea2e62f573594df82ba61f70d6baec4dd96d857cd010f5316436794ce32b6828 (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/bc/8c/22887ca9fc0634fcd1d1417441d7ae68dd009e905f006ed2c08899a8fcb3/pyreadline-1.5.zip#sha256=28175b40250ae7bc7ab31a34691f8e78ef23da7a493b8a9c81b2dd04b5c87926 (from https://pypi.org/simple/pyreadline/), version: 1.5
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/5a/f1/328d97fd67dff05bdc374660770d537af8983af6f58f20d9ae517b804afc/pyreadline-1.6.win32.exe#sha256=f488340ac4d9532925963f75c51f41d6802a77cf99662da2a8d5bafe621afa9d (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/f2/77/f2a448ed5de9825cdb4f0b353be751b3159ff4f8167a210a2df473400344/pyreadline-1.6.zip#sha256=31660038be8b8690f8971bff0634899ffb99405ede870ae14e46b53a2095bf9c (from https://pypi.org/simple/pyreadline/), version: 1.6
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/f5/46/c8d2b370ecc1e37a60951e3227ac0992d8954d9b0046d656d2f7465087b9/pyreadline-1.6.1.win32.exe#sha256=4422b00787438e75595ef88e1670066df095f5c28d039b3796b612b60036cc72 (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/03/07/472006049e8338462e6d4bb5a4a8e4811a8d88305ac83194fedaf2a7290f/pyreadline-1.6.1.zip#sha256=6c4d270aa2bfab27ac9992a068748c80f2fa597c66005f831c0c066acddbfcc6 (from https://pypi.org/simple/pyreadline/), version: 1.6.1
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/1d/81/8a9cf3aa46af70425f13eb6824c7eac72c934a8e5757e86f0e77afd52fd8/pyreadline-1.6.2.win32.exe#sha256=33036abea72847989949f297ef21a59759dece852fa5815d5e2ad04e9c8e4dc6 (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/5b/c4/889625bd77cf62171f4b30b25063eb97ed364b3466710bf6847a36652e5b/pyreadline-1.6.2.zip#sha256=8c5fdd791f9279b38d042b7fb90e76f25d4c998ff75163ada39b8e1c026fe6f4 (from https://pypi.org/simple/pyreadline/), version: 1.6.2
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/44/84/3a2f0291fd8051ebb73b90b95612ce0c085edf6cdc3c8e0296636afb7b1f/pyreadline-1.7.win-amd64.exe#sha256=17e4ec4b6c56abb4c9170b5783771a8a8b63fa15b9cc2f919e13a5b2b4230bee (from https://pypi.org/simple/pyreadline/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/b6/8c/d23f43632232d7cb66f62678596fd624279126dfebcbd28aa12115d749e8/pyreadline-1.7.win32.exe#sha256=8dded69d4a79870a15d31e998ab9d12a3213541e21d7f975cc1c152a09fe56a5 (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/a2/e8/b4faa22b9a294f9ea55e2c12325c87a478a0459818a9ea866cc29ab01fa0/pyreadline-1.7.zip#sha256=ae598633dda5ae290c8b34583620d3c0f1cad5f9e134b497767534f23783d8d8 (from https://pypi.org/simple/pyreadline/), version: 1.7
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/e2/33/d4f2a35b76037eb4d329c5c000da3f65d509f88d36df7b77e444988ee70f/pyreadline-1.7.1.win-amd64.exe#sha256=5fe51c94f974c31f865a5a098c800865f8028baad42f3a08cf4a53950a84a8d1 (from https://pypi.org/simple/pyreadline/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/39/ce/af6d985de63e01fc1f91188ddc3e6bc2ce39d8653a3e5f8a40bc0e118591/pyreadline-1.7.1.win32.exe#sha256=c862d5e8a76e9d6a8067c97b7d3a225722aaf68735b539369772352c7dde0ffe (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/86/34/07b6ca8aea1b76f8f9646ef5942de7fa6968e459b5c9760585f013f8fae1/pyreadline-1.7.1.zip#sha256=8a5c23e84646bd460e2547c19ae29f0d9e67e8f9cbb1c642d4a9bbdf06092be2 (from https://pypi.org/simple/pyreadline/), version: 1.7.1
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/79/e1/192ff289c1be496d1e5d692ab5c923fbdfed9845d761e67a9d65e2f88077/pyreadline-2.0.win32.exe#sha256=4dee8396c3209aae9f00f7b5d4b0287fde885b906efed03934d01addd0f13270 (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/e6/2b/fda36a620a28bc8d6f8319ba2402eaecf2920e610c6de6d8fa1361be5c8f/pyreadline-2.0.zip#sha256=69cf869cf0a52babe0db9266e9036a35225473d9d9f0c4c658b558460791fd30 (from https://pypi.org/simple/pyreadline/), version: 2.0
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/8b/13/bed49b87af0b4f345b4e54897b5ab6a4b848e4dd300ec4195a0016b8650c/pyreadline-2.1.win-amd64.exe#sha256=9ce5fa65b8992dfa373bddc5b6e0864ead8f291c94fbfec05fbd5c836162e67b (from https://pypi.org/simple/pyreadline/)
  Skipping link: unsupported archive format: .exe: https://files.pythonhosted.org/packages/bc/ca/316035ec616c08979bbed47fb25b843415cf2d118a2f95f55173334300a6/pyreadline-2.1.win32.exe#sha256=65540c21bfe14405a3a77e4c085ecfce88724743a4ead47c66b84defcf82c32e (from https://pypi.org/simple/pyreadline/)
  Found link https://files.pythonhosted.org/packages/bc/7c/d724ef1ec3ab2125f38a1d53285745445ec4a8f19b9bb0761b4064316679/pyreadline-2.1.zip#sha256=4530592fc2e85b25b1a9f79664433da09237c1a270e4d78ea5aa3a2c7229e2d1 (from https://pypi.org/simple/pyreadline/), version: 2.1
Given no hashes to check 8 links for project 'pyreadline': discarding no candidates
Using version 2.1 (newest of versions: 1.5, 1.6, 1.6.1, 1.6.2, 1.7, 1.7.1, 2.0, 2.1)
Using cached wheel link: file:///C:/users/john%20smith/appdata/local/pip/cache/wheels/00/6e/d4/7c4b7bc22c090baf4f470e7f35c4f22206277229bdb6607df6/pyreadline-2.1-py3-none-any.whl
Processing c:\users\John Smith\appdata\local\pip\cache\wheels\00\6e\d4\7c4b7bc22c090baf4f470e7f35c4f22206277229bdb6607df6\pyreadline-2.1-py3-none-any.whl
  Added pyreadline from file:///C:/users/john%20smith/appdata/local/pip/cache/wheels/00/6e/d4/7c4b7bc22c090baf4f470e7f35c4f22206277229bdb6607df6/pyreadline-2.1-py3-none-any.whl to build tracker 'C:\\Users\\JOHNSM~1\\AppData\\Local\\Temp\\pip-req-tracker-294l1jrl'
  Removed pyreadline from file:///C:/users/john%20smith/appdata/local/pip/cache/wheels/00/6e/d4/7c4b7bc22c090baf4f470e7f35c4f22206277229bdb6607df6/pyreadline-2.1-py3-none-any.whl from build tracker 'C:\\Users\\JOHNSM~1\\AppData\\Local\\Temp\\pip-req-tracker-294l1jrl'
Installing collected packages: pyreadline

Successfully installed pyreadline-2.1
WARNING: You are using pip version 20.2.2; however, version 20.2.3 is available.
You should consider upgrading via the 'C:\Users\John Smith\Repositorios\test\.venv\Scripts\python.exe -m pip install --upgrade pip' command.
Removed build tracker: 'C:\\Users\\JOHNSM~1\\AppData\\Local\\Temp\\pip-req-tracker-294l1jrl'

@fcruzel
Copy link
Author

fcruzel commented Oct 2, 2020

I just realised that poetry update fails with the original error because a space in the path:

λ poetry update
Updating dependencies
Resolving dependencies...

Package operations: 0 installs, 2 updates, 0 removals

  • Updating regex (2020.9.27 -> 2020.6.8)
  • Updating rasa (1.10.3 -> 1.10.14)

  EnvCommandError

  Command "C:\Users\John Smith\AppData\Local\pypoetry\Cache\virtualenvs\dge-bot-jrDf5u8l-py3.7\Scripts\pip.exe" install --no-deps -U C:\Users\John Smith\AppData\Local\pypoetry\Cache\artifacts\ba\4b\01\2448aed333dcc69c3301e5fd5f04b27085780acf4df34bce669760759f\rasa-1.10.14-py3-none-any.whl errored with the following return code 1, and output:
  ERROR: Invalid requirement: 'C:\\Users\\John'
  Hint: It looks like a path. It does exist.


  at c:\users\john smith\appdata\local\programs\python\python37\lib\site-packages\poetry\utils\env.py:944 in _run
       940│                 output = subprocess.check_output(
       941│                     cmd, stderr=subprocess.STDOUT, **kwargs
       942│                 )
       943│         except CalledProcessError as e:
    →  944│             raise EnvCommandError(e, input=input_)
       945│
       946│         return decode(output)
       947│
       948│     def execute(self, bin, *args, **kwargs):

@abn
Copy link
Member

abn commented Oct 2, 2020

Looks like poetry is downloading the exe for some reason and pip doesn't like the exe. Can you raise a separate issue for that please? You can work around it by using a url dependency pointing to the zip file directly.

As for poetry update, if you have an older poetrg performing the update you will have the bug since well it is not updated yet. :)

@fcruzel
Copy link
Author

fcruzel commented Oct 2, 2020

Oh... I had forgotten that I was using 1.1.0rc1. Thank you.

Sure, I'll open a new issue. Thank you @abn

Copy link

github-actions bot commented Mar 2, 2024

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Something isn't working as expected
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants