Ask Your Question
1

venv3.7 and typing

asked 2020-05-04 10:11:17 -0500

Alexander_Dragunkin gravatar image

updated 2020-05-06 10:19:18 -0500

How to use typing in debugging?

Attempting to use * from typing import Generator * or * from typing import Dict * in the code results in an error.

Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 14 2019, 23:09:19) [MSC v.1916 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.
>>> from typing import Generator
Traceback (most recent call last):
  Оболочка Python, prompt 1, строка 1
    # Used internally for debug sandbox under external interpreter
  Файл "c:\VENV37\Lib\site-packages\typing.py", строка 1357, из <module>    class Callable(extra=collections_abc.Callable, metaclass=CallableMeta):
  Файл "c:\VENV37\Lib\site-packages\typing.py", строка 1005, из __new__    self._abc_registry = extra._abc_registry
builtins.AttributeError: type object 'Callable' has no attribute '_abc_registry'

When you call the same code in the console, everything is fine.

(VENV37) AC..........OKS\ClassTasksPython
$ python
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 14 2019, 23:09:19) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from typing import Generator
>>> def fib6(n: int) -> Generator[int, None, None]:
...     yield 0
...     if n > 0:
...         yield 1
...     last: int = 0
...     next: int = 1
...     for _ in range(1, n):
...         last, next = next, last + next
...         yield next
...
>>>
>>> if __name__ == '__main__':
...     for i in fib6(50):
...         print(i)
...
0
1
1
2
3
5
8
13
21
edit retag flag offensive close merge delete

Comments

I can't seem to reproduce this. What is your sys.path? It's odd that typing is being imported from c:\VENV37\Lib\site-packages\ rather than the stdlib of the base interpreter. What is the current directory in both cases?

Wingware Support gravatar imageWingware Support ( 2020-05-04 17:20:31 -0500 )edit

import sys sys.path ['', 'c:\VENV37', 'c:\VENV37\Lib', 'c:\VENV37\Lib\site-packages', 'c:\BOOKS\ClassTasksPython', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32\python37.zip', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32\DLLs', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32\lib', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32', 'C:\Users\ACER\AppData\Roaming\Python\Python37\site-packages', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32\lib\site-packages', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32\lib', 'C:\Users\ACER\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pythonwin']

current directory c:\BOOKS\ClassTasksPython

Alexander_Dragunkin gravatar imageAlexander_Dragunkin ( 2020-05-17 04:16:45 -0500 )edit

I seem to understand what my mistake is.

I removed from sys.path 'c:\VENV37', 'c:\VENV37\Lib', 'c:\VENV37\Lib\site-packages' and it worked

Alexander_Dragunkin gravatar imageAlexander_Dragunkin ( 2020-05-17 06:58:35 -0500 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2020-05-17 08:04:10 -0500

Alexander_Dragunkin gravatar image

updated 2020-05-17 08:06:28 -0500

Perhaps my comments can help someone.

To configure debugging in a virtual environment, in the project properties tab environment, specify the path to the activate file. In the phython path section, select Use Default or do not write (in the case of customs) the path to the folders of the virtual environment

Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 14 2019, 23:09:19) [MSC v.1916 32 bit (Intel)]
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['',
 'c:\\Users\\ACER\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip',
 'c:\\Users\\ACER\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs',
 'c:\\Users\\ACER\\AppData\\Local\\Programs\\Python\\Python37-32\\lib',
 'c:\\Users\\ACER\\AppData\\Local\\Programs\\Python\\Python37-32',
 'c:\\VENV37',
 'c:\\VENV37\\lib\\site-packages']
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

2 followers

Stats

Asked: 2020-05-04 10:11:17 -0500

Seen: 34 times

Last updated: May 04