Я просто переключил свою ОС на Ubuntu 16.04 (в первый раз когда-либо с помощью Linux).
Мне удалось установить Python 3.6 после этого руководства: http://docs.python-guide.org/en/latest/starting/install3/linux/
И я установил зернышко после ответа, который был найден на этом потоке переполнения стека: https://stackoverflow.com/questions/42662104/how-to-install-pip-for-python-3-6-on-ubuntu-16-10
Все работало как очарование, однако, когда я пытаюсь установить discord.py использование модуля python3.6 -m pip install -U discord.py
, Я брошен ошибка разрешения на всем, что она пытается установить.
Collecting discord.py
Collecting aiohttp<1.1.0,>=1.0.0 (from discord.py)
Collecting websockets<4.0,>=3.1 (from discord.py)
Using cached websockets-3.4-cp36-cp36m-manylinux1_x86_64.whl
Collecting chardet (from aiohttp<1.1.0,>=1.0.0->discord.py)
Using cached chardet-3.0.4-py2.py3-none-any.whl
Collecting multidict>=2.0 (from aiohttp<1.1.0,>=1.0.0->discord.py)
Using cached multidict-3.1.3-cp36-cp36m-manylinux1_x86_64.whl
Collecting async-timeout (from aiohttp<1.1.0,>=1.0.0->discord.py)
Using cached async_timeout-1.3.0-py3-none-any.whl
Installing collected packages: chardet, multidict, async-timeout, aiohttp, websockets, discord.py
Found existing installation: chardet 2.3.0
Uninstalling chardet-2.3.0:
Exception:
Traceback (most recent call last):
File "/usr/lib/python3.6/shutil.py", line 544, in move
os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3/dist- packages/chardet' -> '/tmp/pip-kssx4kah-uninstall/usr/lib/python3/dist- packages/chardet'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python3.6/dist-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python3.6/dist-packages/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/usr/local/lib/python3.6/dist-packages/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/usr/local/lib/python3.6/dist-packages/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/usr/local/lib/python3.6/dist-packages/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/usr/lib/python3.6/shutil.py", line 556, in move
rmtree(src)
File "/usr/lib/python3.6/shutil.py", line 480, in rmtree
_ rmtree_safe_fd(fd, path, onerror)
File "/usr/lib/python3.6/shutil.py", line 438, in _rmtree_safe_fd
onerror(os.unlink, fullname, sys.exc_info())
File "/usr/lib/python3.6/shutil.py", line 436, in _rmtree_safe_fd
os.unlink(name, dir_fd=topfd)
PermissionError: [Errno 13] Permission denied: 'jpcntx.py'
Это - только одно из сообщений об ошибках, которые я получаю, я также получаю другие такой как
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/dist-packages/websockets'
и
PermissionError: [Errno 13] Permission denied: /usr/local/lib/python3.6/dist-packages/async_timeout
а также
PermissionError: [Errno 13] Permission denied: '/usr/local/lib/python3.6/dist-packages/multidict-3.1.3.dist-info'
Не торопитесь для чтения немного о том, как Ubuntu и Linux в целом работают, та команда должна была быть:
sudo -H pip install <package_name>
отметьте несколько вещей:
, Если Вы делаете pip --version
или pip3 --version
, Вы будете видеть, какая версия Python идет с тем pip
команда:
pip 9.0.1 from /usr/local/lib/python3.5/dist-packages (python 3.5)
, Если Вы делаете pip2 --version
затем, мы видим python 2.*
:
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
Python уже там, так должен переустановить его.
В использовании Ubuntu pip
и pip3
python 3.*
, но pip2
использование python 2.*
Важный:
-H, --set-home
Request that the security policy set the HOME environment variable to the home directory specified by the target user's password database
entry. Depending on the policy, this may be the default behavior.