я это уже давно понял, но теперь
Это после venv\Scripts\activate
? Ну так может и правда установлено всё уже и можно
socks
вроде именно это устанавливает почему-то.
Так, давайте сначала.
- Создаём в PyCharm новый проект
- Открываем папку проекта в терминале и выполняем эти команды
- Запускаем проект в PyCharm’е и всё работает
правильно?
Тогда в нем надо указать эту венв, или наоборот в терминале использовать ту, что PyCharm создал. Как тут на скрине Установка библиотеки tensorflow, EnvironmentError WinError 5, google.protobuf.pyext import _message ImportError: DLL load failed - #4 от пользователя AlexP
Запускать можно и в терминале
если выполнять команды в папке с проектом, то разве не она используется?
как я в терминале по нему дебаггером пройдусь?
когда я пытаюсь поменять венв, оно пишет environment location directory is not empty
объясните уже, наконец, куда потыкать, чтобы оно просто запустилось.
И где взять файл __version__
?
все дебагеры работают и там
Используется та, от которой запущен
в этом экземпляре терминала.
Так что чтобы
надо запустить путь_венв_из_пайчарма\Scripts\activate
.
Так это создание, для уже созданной ниже Existing environment
Это не файл, а переменная из библиотеки.
Я так не умею. Я умею в IDE.
Так это создание, для уже созданной ниже Existing environment
Да, я уже понял
Так что чтобы
AlexP:использовать ту, что PyCharm создал
надо запустить
путь_венв_из_пайчарма\Scripts\activate
.
То есть, смысл в том, чтобы заставить PyCharm использовать тот венв, куда скачались библиотеки?
А то куда они качаются, зависит от того, где последний раз был запущен activate.bat
? Так?
Еще можно просто print
вывести что надо ) Я обычно так и делаю.
где был последний раз запущен
activate.bat
?
Да, в терминале должно быть написано какая сейчас активна.
Еще можно просто
Разве для этого не надо сначала пройтись по коду дебаггером и понять, какую именно переменную надо вывести?
Да, в терминале должно быть написано какая сейчас активна.
в каком терминале?
надо запустить
путь_венв_из_пайчарма\Scripts\activate
.
А как PyCharm узнает, какой венв использовать?
Разве для этого не надо сначала пройтись по коду дебаггером и понять, какую именно переменную надо вывести?
Ну смотря что за задача, можно просто код посмотреть и понять. Дебагер же просто показывает все текущие значения, найти нужное место это не особо помогает.
в каком терминале?
у меня
в обычном cmd тоже выводит.
А как PyCharm узнает, какой венв использовать?
так в настройках интерпретатора указан же.
найти нужное место это не особо помогает.
Это очень сильно помогает. Без этого нереально долго. Особенно на незнакомом языке. Особенно на таком, как этот ваш питон.
А мне раньше казалось, что у C/C++ сложный синтаксис.
в обычном cmd тоже выводит.
какой командой?
так в настройках интерпретатора указан же.
Там стоит тот венв, в который скачано. Однако, не работает.
H:\Projects\python\streamlink\venv\Scripts\python.exe H:/Projects/python/streamlink/streamlink/src/streamlink_cli/__main__.py
Traceback (most recent call last):
File "H:\Projects\python\streamlink\streamlink\src\streamlink_cli\__main__.py", line 2, in <module>
from streamlink_cli.main import main
File "H:\Projects\python\streamlink\streamlink_cli\main.py", line 17, in <module>
from socks import __version__ as socks_version
ModuleNotFoundError: No module named 'socks'
какой командой?
после вызова activate появляется, как на скрине.
Однако, не работает.
а это было?
pip install -e .
socks
вроде именно это устанавливает почему-то.
после вызова activate появляется, как на скрине.
но ведь тогда венв изменится
а это было?
pip install -e .
PS H:\Projects\python\streamlink\streamlink> pip install -e .
Obtaining file:///H:/Projects/python/streamlink/streamlink
Requirement already satisfied: requests<3.0,>=2.21.0 in c:\users\rain\appdata\local\programs\python\python39\lib\site-packages (from streamlink==2.0.0+22.gb9d0d18) (2.25.1)
Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in c:\users\rain\appdata\local\programs\python\python39\lib\site-packages (from streamlink==2.0.0+22.gb9d0d18) (1.7.1)
Collecting pycryptodome<4,>=3.4.3
Downloading pycryptodome-3.9.9-cp39-cp39-win_amd64.whl (14.1 MB)
|████████████████████████████████| 14.1 MB 467 kB/s
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\users\rain\appdata\local\programs\python\python39\lib\site-packages (from requests<3.0,>=2.21.0->streamlink==2.0.0+22.gb9d0d18) (1.26.2)
Requirement already satisfied: chardet<5,>=3.0.2 in c:\users\rain\appdata\local\programs\python\python39\lib\site-packages (from requests<3.0,>=2.21.0->streamlink==2.0.0+22.gb9d0d18) (4.0.0)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\rain\appdata\local\programs\python\python39\lib\site-packages (from requests<3.0,>=2.21.0->streamlink==2.0.0+22.gb9d0d18) (2020.12.5)
Requirement already satisfied: idna<3,>=2.5 in c:\users\rain\appdata\local\programs\python\python39\lib\site-packages (from requests<3.0,>=2.21.0->streamlink==2.0.0+22.gb9d0d18) (2.10)
Collecting iso-639
Downloading iso-639-0.4.5.tar.gz (167 kB)
|████████████████████████████████| 167 kB 595 kB/s
Collecting iso3166
Downloading iso3166-1.0.1-py2.py3-none-any.whl (8.2 kB)
Collecting isodate
Downloading isodate-0.6.0-py2.py3-none-any.whl (45 kB)
|████████████████████████████████| 45 kB 404 kB/s
Requirement already satisfied: six in c:\users\rain\appdata\local\programs\python\python39\lib\site-packages (from isodate->streamlink==2.0.0+22.gb9d0d18) (1.15.0)
Collecting websocket-client
Downloading websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)
|████████████████████████████████| 200 kB 595 kB/s
Using legacy 'setup.py install' for iso-639, since package 'wheel' is not installed.
Installing collected packages: websocket-client, pycryptodome, isodate, iso3166, iso-639, streamlink
Running setup.py install for iso-639 ... done
Running setup.py develop for streamlink
Successfully installed iso-639-0.4.5 iso3166-1.0.1 isodate-0.6.0 pycryptodome-3.9.9 streamlink websocket-client-0.57.0
но ведь тогда венв изменится
Ну так и надо изменить на ту, что нужна.
Если просто открыть новый терминал и не вызвать activate, то никакая венв не используется.
Раз уж тут уже всё стоит глобально без венв
c:\users\rain\appdata\local\programs\python\python39\lib\site-packages
можно просто в PyCharm выбрать питон не из венв.
можно просто в PyCharm выбрать питон не из венв
ееееее! Оно запустилось! Оно запустилось!
ееееее! Оно запустилось! Оно запустилось!
С-ума сойти
Так а что было-то?
WARNING: The script virtualenv.exe is installed in 'C:\Users\RAIN\AppData\Roaming\Python\Python39\Scripts' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Чтобы не ловить подобные предупреждения есть команда pip list, которая выведет на экран все установленные пакеты и их версии.
А мне раньше казалось, что у C/C++ сложный синтаксис
Если говорить о Си - он не очень то и сложен.
А вот Си-Плюс-Плюс - да, сложен. И сложность заключается в том что каждые очередные два плюса это год утверждения нововведений в библиотеки. И также год добавления новых библиотек если таковые были к этому году разработаны и утверждены.
Так а что было-то?
Видимо это
оно поставилось глобально, а не в venv из которого приложение запускается.
Надо либо всё в venv, либо всё глобально. (лучше конечно первое)
Ну и в итоге раз всё поставилось глобально, то проще уже и запустить глобальным питоном не разбираясь с венв.
Чтобы не ловить подобные предупреждения есть команда pip list , которая выведет на экран все установленные пакеты и их версии.
И как оно поможет?
Тут же про
Можно либо добавить эту папку в PATH ОС (по идее установщик Питона это должен был сделать, может комп не перезагружался и используется старый PATH?), либо использовать полный путь
C:\Users\RAIN\AppData\Roaming\Python\Python39\Scripts\virtualenv
.