Python - Установка пакетов в виртуальной среде - PullRequest
0 голосов
/ 25 декабря 2018

Я пробую виртуальный env впервые в python.У меня на компьютере установлены Python 3.6 и Python 2.7.Я установил все необходимые пакеты в Python 3.6.Однако код, который у меня есть, кажется совместимым с Python 2.7.Поэтому я выбрал Virtaul Env.Но я не мог получить доступ к пакетам, которые мне нужны.Я прошел через вопросы переполнения стека, но ничего не помогло.Я попытался следующие шаги:

  • Создан новый проект в Pycharm
  • использовал интерпретатор как Python27
  • в командной строке, я пошел в конкретную виртуальную папку env и попыталсяpip install имя_пакета
  • с отображением ошибки, как показано ниже

    Fatal Python error: Py_Initialize: unable to load the file system codec
      File "D:\Users\username\venv_name\lib\encodings\__init__.py", line 123
        raise CodecRegistryError,\
                        ^
    SyntaxError: invalid syntax
    
    Current thread 0x0000d85c (most recent call first):
    

Мне нужно либо установить пакеты в venv, либо перенести уже установленные пакеты в venv.

Спасибо

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Чтобы установить пакеты в виртуальной среде, вам необходимо сначала добавить их в PyCharm и использовать в качестве интерпретатора.

Вы можете добавить свой венв:

Настройки ( Ctrl + Alt + s в окнах)

Нажмите значок рядом с переводчиком проекта, затемвыберите добавить.enter image description here

Браузер для вашей виртуальной среды.enter image description here

После этого теперь вы можете устанавливать пакеты в виртуальную среду, нажав значок ➕.enter image description here


Также вы не можете просто установить пакеты в вашей виртуальной среде, зайдя в ее каталог, вам необходимо сначала активировать его с помощью:

Windows:c:\path\to\your\venv\Scripts\activate.bat

Linux / Mac: source path/to/your/venv/bin/activate

0 голосов
/ 25 декабря 2018

Я не знаю, как решить вашу проблему, так как сам не использую pycharm, но я могу сказать вам, что является причиной этого.

Похоже, что вы пытаетесь запустить код Python 2 под Python 3. Неудачное выражение raise для вас допустимо в Python 2, но не в Python 3. Следовательно, SyntaxError.Итак, вы, вероятно, используете исходные файлы из virtualenv (видите, что ...\venv_name\... путь?), Но выполняете их в интерпретаторе Python 3.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...