python3无法使用pip
Tofloor
poster avatar
as7212325
deepin
2019-10-15 06:03
Author
本帖最后由 as7212325 于 2019-10-15 02:47 编辑
  1. Package    Version
  2. ---------- -------
  3. pip        19.0.3
  4. setuptools 40.8.0
  5. Traceback (most recent call last):
  6.   File "/usr/bin/pip3", line 11, in
  7.     sys.exit(__main__._main())
  8.   File "/usr/local/lib/python3.7/site-packages/pip/_internal/__init__.py", line 78, in main
  9.     return command.main(cmd_args)
  10.   File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 228, in main
  11.     timeout=min(5, options.timeout)
  12.   File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 93, in _build_session
  13.     insecure_hosts=options.trusted_hosts,
  14.   File "/usr/local/lib/python3.7/site-packages/pip/_internal/download.py", line 344, in __init__
  15.     self.headers["User-Agent"] = user_agent()
  16.   File "/usr/local/lib/python3.7/site-packages/pip/_internal/download.py", line 108, in user_agent
  17.     zip(["name", "version", "id"], distro.linux_distribution()),
  18.   File "/usr/local/lib/python3.7/site-packages/pip/_vendor/distro.py", line 120, in linux_distribution
  19.     return _distro.linux_distribution(full_distribution_name)
  20.   File "/usr/local/lib/python3.7/site-packages/pip/_vendor/distro.py", line 675, in linux_distribution
  21.     self.version(),
  22.   File "/usr/local/lib/python3.7/site-packages/pip/_vendor/distro.py", line 735, in version
  23.     self.lsb_release_attr('release'),
  24.   File "/usr/local/lib/python3.7/site-packages/pip/_vendor/distro.py", line 892, in lsb_release_attr
  25.     return self._lsb_release_info.get(attribute, '')
  26.   File "/usr/local/lib/python3.7/site-packages/pip/_vendor/distro.py", line 550, in __get__
  27.     ret = obj.__dict__[self._fname] = self._f(obj)
  28.   File "/usr/local/lib/python3.7/site-packages/pip/_vendor/distro.py", line 998, in _lsb_release_info
  29.     stdout = subprocess.check_output(cmd, stderr=devnull)
  30.   File "/usr/local/lib/python3.7/subprocess.py", line 395, in check_output
  31.     **kwargs).stdout
  32.   File "/usr/local/lib/python3.7/subprocess.py", line 487, in run
  33.     output=stdout, stderr=stderr)
  34. subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
Copy the Code
使用的是 sudo apt-get install python3-pip 安装完后 无法使用pip安装模块 这个问题要怎么解决

Reply Favorite View the author
All Replies
avatar
jzc
deepin
2019-10-15 07:07
#1
本帖最后由 jzc 于 2019-10-14 23:10 编辑

python3 对应的是 pip3
$ pip3 --version
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5)
你安装的是什么模块?


Reply View the author
avatar
angelfind
deepin
2019-10-15 07:19
#2
试一下看看
sudo dedit /usr/bin/lsb_release
修改第一行,指明python的版本号,若安装的是python3.7则修改:
#!/usr/bin/python3
为:
#!/usr/bin/python3.7
Reply View the author
avatar
Feng Yu
deepin
2019-10-15 08:27
#3
又一个作大死的,乱搞系统python版本。不要再瞎搞了
Reply View the author
avatar
as7212325
deepin
2019-10-15 10:46
#4
https://bbs.deepin.org/post/183807
试一下看看
sudo dedit /usr/bin/lsb_release
修改第一行,指明python的版本号,若安装的是python3.7则修改 ...

改了没效果
Reply View the author
avatar
angelfind
deepin
2019-10-17 00:30
#5
其实一开始,就像楼上的兄弟说的那样,楼主确实作死。不是开玩笑,楼主别介意,就是想告诉你我的解决方案。
首先肯定是需要重装系统了,破坏了自带的python3, 我功力不够,也修复不了。
然后安装最新python3.7.*与系统自带的3.6.5共存。系统自带的用命令python3进入,新的pythony3.7.4我们可以设置为新的命令python3.7进入。
下面是方法:

# 保证是全新安装的deepin15.11
# 安装依赖包:缺一不可
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev

# [从Python官网下载文件] Gzipped source tarball (Source release)

# 进入解压后的目录
cd Python-3.7.4

# 配置安装目录
sudo mkdir /usr/local/python3.7
sudo ./configure -prefix=/usr/local/python3.7 --with-ssl

# 编译和安装
sudo make && sudo make install

# 按道理来说接下来就是 # sudo rm /usr/bin/python3 /usr/bin/pip3 了, # 但是注意:本着不能替换掉系统的3.6.5版本的原则,所以这一句不能执行

# 添加链接 python3, pip3
sudo ln -s /usr/local/python3.7/bin/python3.7  /usr/bin/python3.7
sudo ln -s /usr/local/python3.7/bin/pip3  /usr/bin/pip3

# 到此成功安装了py3.7.4和系统原有3.6.5共存
cmd: python3 进入3.6.5环境
cmd: python3.7 进入3.7.4环境

这么弄的好处就是保持系统原生态,不会因为破坏了系统py3带来一些列莫名其妙的问题。当然了可能你会觉得用python3.7进入环境很不习惯。一般我们都是用IDE来写代码。配置好IDE里面用python3.7来运行代码就好,所以平时基本都很少手动在控制台进去。

例外附赠一条命令. 使用 python3 自带虚拟环境,就实现了pycharm那种隔离每一个项目的效果,在这个虚拟环境中任意安装pip包,都不会破坏我们刚刚安装的python3.7.4
python3 -m venv 目录名
Reply View the author
avatar
as7212325
deepin
2019-10-21 07:24
#6
https://bbs.deepin.org/post/183807
其实一开始,就像楼上的兄弟说的那样,楼主确实作死。不是开玩笑,楼主别介意,就是想告诉你我的解决方案。 ...

感谢提供帮助我已经解决该问题了不过在启动idle的时候是py3.5的 而启动py3.7的idle报找不到 idle.shell的文件 这是怎么回事
Reply View the author
avatar
springzfx
deepin
2019-10-21 07:45
#7
anaconda/miniconda 这么好的东西为啥不用呢
Reply View the author
avatar
ritter
deepin
2019-10-21 09:49
#8
我都在用python3.8了,你把系统依赖破坏都破坏了,不索性装个3.8装装逼。
Reply View the author
avatar
angelfind
deepin
2019-10-22 10:17
#9
https://bbs.deepin.org/post/183807
我都在用python3.8了,你把系统依赖破坏都破坏了,不索性装个3.8装装逼。

已用上3.8好几天了
Reply View the author