Как заставить tkinter работать (в vim) и как заставить python -3.x работать по умолчанию python для linux? - PullRequest
0 голосов
/ 15 января 2020

Насколько я понимаю, tkinter поставляется с предустановленной python. Не могу понять, почему все IDE, на которых я пытался запустить tkinter, не распознают tkinter как библиотеку.

Я пытался: import tkinter as tk import Tkinter as tk import * from tkinter from tkinter import * import tkinter import Tkinter и все остальное между ...

Весь фрагмент кода, который я пытаюсь запустить:

 import Tkinter
 top = Tkinter.Tk()
 top.mainloop()

Всякий раз, когда я пытаюсь запустить его в VIM, сообщение об ошибке:

Traceback (most recent call last):
  File "tktest.py", line 1, in <module>
    import Tkinter
  File "usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
    raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named_tkinter, please install the python-tk package

shell returned 1

Нужно ли vim для запуска python3 в vim (который я считал по умолчанию), если да, то как мне это сделать?

У меня есть даже попытался установить tkinter, как он говорит, но я получаю это большое сообщение об ошибке:

ken@ken-HP-ENVY-Laptop-13-ah1xxx:~$ pip install Tkinter
Collecting Tkinter
Exception:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run
    wb.build(autobuilding=True)
  File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in _get_pages
    page = self._get_page(location)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 683, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/lib/python2.7/dist-packages/pip/index.py", line 795, in get_page
    resp.raise_for_status()
  File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/models.py", line 935, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
HTTPError: 404 Client Error: Not Found for url: https://pypi.org/simple/tkinter/

Похоже, я запускаю python2 .7 в моей системе по умолчанию, и я не знаю, почему ... как мне установить python3 .7 (или последнюю версию) в качестве моего по умолчанию для моей машины?

Для записи я использую Linux Mint 19.3 Tricia

1 Ответ

0 голосов
/ 15 января 2020

Попробуйте запустить Python 3 в виртуальной среде :

Откройте терминал go в каталоге вашего проекта и запустите $ python3 -m venv venv, что создаст виртуальную среду с именем venv в каталоге вашего проекта.

Чтобы активировать его, go в каталог вашего проекта и выполните $ source venv/bin/activate

Ваше приглашение bash должно теперь прочитать (venv) $ и любую работу, которую вы do будет происходить в виртуальной среде.

Как только вы закончите работать внутри venv, вы захотите отключить его. Чтобы деактивировать, введите $ deactivate

СЕЙЧАС, как только ваша виртуальная среда станет активной, у вас будет чистая, безпакетная установка Python 3.x, где x - это любая версия, которую вы установили и для которой псевдоним python3.

Здесь вы можете обновить pip: $ pip install -U pip, переустановить все пакеты, которые вам нужны, из файла needs.txt: $ pip install -r requirements.txt и установить любые другие отдельные пакеты, которые вам нужны, с помощью pip по-прежнему.

Все, что вы устанавливаете в вашей виртуальной среде, будет только в вашей виртуальной среде , так что вы можете использовать это в качестве тестового стенда и уничтожать / восстанавливать, как видите поместиться. Это выгодно по многим причинам.


Как только вы это сделаете, попробуйте запустить vim из вашей виртуальной среды, а затем попробуйте запустить ваш код из виртуальной среды. Оказавшись внутри вашего venv, единственный Python, о котором знает ваш терминал, это тот, который находится внутри venv. Так что по умолчанию это должно быть.

...