- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Ubuntu 14.04 上的默认 python3
是 3.4.3
,但我想使用 3.6.3
。
我按照以下命令安装3.6.3
:
$ sudo apt-get update
$ sudo apt-get install build-essential libpq-dev libssl-dev openssl libffi-dev zlib1g-dev
$ sudo apt-get install python3-pip python3-dev
$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt-get update
$ sudo apt-get install python3.6
3.6.3
然后在我的 Ubuntu 上可用:
$ which python3.6
/usr/bin/python3.6
当然,python3
仍然指向 3.4.3
:
$ ls -la /usr/bin/python3
/usr/bin/python3 -> /usr/bin/python3.4
pip3
可用,但它使用 3.4.3
而不是 3.6.3
(我想要的):
$ pip3 --version
pip 1.5.4 from /usr/lib/python3/dist-packages (python 3.4)
我认为更新 /usr/bin/python3
可以解决问题,因此我调整了 python3
符号链接(symbolic link),使其指向 3.6.3
:
$ sudo unlink /usr/bin/python3
$ sudo ln -s /usr/bin/python3.6 /usr/bin/python3
$ ls -la /usr/bin/python3
/usr/bin/python3 -> /usr/bin/python3.6
但是pip3
不再工作了:(
$ pip3 --version
Traceback (most recent call last):
File "/usr/bin/pip3", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1479, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/bin/pip3", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 1479, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
已更新
我尝试了一些建议:
$ sudo python3.6 -m pip
和
$ curl https://bootstrap.pypa.io/get-pip.py | sudo -H python3.6
但它显示了非常相似的输出:
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 183, in _run_module_as_main
mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
File "/usr/lib/python3.6/runpy.py", line 142, in _get_module_details
return _get_module_details(pkg_main_name, error)
File "/usr/lib/python3.6/runpy.py", line 109, in _get_module_details
__import__(pkg_name)
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 59, in <module>
from pip.log import logger
File "/usr/lib/python3/dist-packages/pip/log.py", line 9, in <module>
import colorama, pkg_resources
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 656, in _load_unlocked
File "<frozen importlib._bootstrap>", line 626, in _load_backward_compatible
File "/usr/share/python-wheels/setuptools-3.3-py2.py3-none-any.whl/pkg_resources.py", line 1479, in <module>
register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 20, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
如何解决这个问题?
最佳答案
嗨,真正的问题描述如下:https://stackoverflow.com/a/41722610/7933710TLDR:在较旧的 Ubuntu 系统上使用 ppa 并不一致。
要修复您的系统,您必须删除 python3.6:
apt-get remove --purge python3.6
add-apt-repository -r ppa:jonathonf/python-3.6
然后下载源代码并从源代码构建并准备用于构建的系统:
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tgz
现在准备构建系统:
apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
所有这些步骤均来自此处的指南 https://realpython.com/installing-python/#compiling-python-from-source
现在配置、制作、制作 altinstall(重要)
tar xvf Python-3.6.7.tgz
cd Python-3.6.7/
./configure --enable-optimizations --with-ensurepip=install
make -j 8
make altinstall
The
-j 8
means run on 8 cores. Of course if you have less then use the appropriate number. It will not cause a crash in any case.
现在通过运行验证安装
python3.6 -V
which python3.6
复制python3.6
的路径,它应该是/usr/bin/python3.6
或/usr/local/bin/python3。 6
您现在可以使用update-alternatives
来管理您计算机上的所有Python版本
ls /usr/bin/python* # e.g. /usr/bin/python2.7 /usr/bin/python3.4 /usr/bin/python3.6
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 2
数字2
表示在您的计算机上运行Python的优先级。在本例中 2 > 1,因此您会更喜欢 python3.6。如果您想更改为 3.4 版本,只需运行 update-alternatives --config python
这是一个交互式配置器。
现在您可以使用python -m pip -V
来验证pip是否正常工作。您还可以使用pip3.6来安装软件包。
关于pip - 如何在 Ubuntu 14.04 上使用 python3.6 而不是 python3.4 调整 pip3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53407801/
pip install 和 pip download 有什么区别? $ pip --version pip 9.0.1 from c:\users\nahawk\python\python27\lib
我的控制台: desarrollador@desarrollador-HP-14-Notebook-PC1:~$ pip freeze Exception: Traceback (most rec
我用 pip 安装: $ sudo apt-get install python-setuptools, python-pip 但是当我尝试使用 pip 安装某些东西时出现此错误 sudo pip i
我通过 yum 安装了 python-pip 包(使用 Fedora 的更新仓库)。它不会将 pip 脚本添加到我的 PATH 中。 $ which pip /usr/bin/which: no pi
在Windows上使用python。当我尝试使用以下命令安装新库时。它会抛出错误,指出‘pip’未被识别为内部或外部命令、可操作程序或批处理文件。。但是当我使用代码的时候。它给了我一个有效的结果。。为
我收到了消息 You are using pip version 8.0.2, however version 8.1.2 is available. You should consider upgr
我安装了一个版本的包(例如 transformers 3.4.0) 我想安装一个较早的版本。我安装: pip install transformers==3.1.0 检查安装的版本时 pip free
我最近决定尝试在我的计算机上安装 tesseract 并运行 pip3 install tesseract-ocr。 然后它开始下载 cython,这提醒我 tesseract-ocr 不是我想要的,
默认情况下,pip搜索软件包名称和描述。对于某些软件包,这会导致大量的伪造命中,而找到我真正想要的伪命中是一件痛苦的事情。 我如何告诉点子我只想按名称搜索? 最佳答案 目前尚不可行,因为当前实现(第8
我如何使用 pip在 oh-my-zsh 中?我正在尝试安装 nltk通过 pip,但它告诉我 zsh: command not found: pip .当我查看 .oh-my-zsh/custom/
我有一个pip要求文件,其中包括Torch和Torchvision的特定于CPU的特定版本。我可以使用以下pip命令成功安装我的需求。 pip install --requirement azure-
pip 有一个 -q/--quiet 标志,可以从命令行理想地工作。我正在使用自动部署过程 (Amazon Elastic Beanstalk),并且这些工具使用 pip 从需求文件进行安装。 不幸的
我有一个带有附加功能的软件包,通常可以使用以下命令进行安装。 pip install package[extras] 但是,我也可以通过轮子安装相同的包,指定一些轮子 URL,如下所示。 pip in
我试过pip freeze 。我需要它只输出由换行符分隔的模块,例如 pip freeze ,除非没有版本号,因为我正在尝试创建一个自动升级程序,并且想要执行 pip install --upgrad
我尝试在pip.conf中使用带有index-url的pip。但是,我无法确保我们可以获得所有必需的 python 库。所以,我想知道 pip 支持是否在 pip.conf 的 [global] 部分
如何列出我直接使用 pip 安装的软件包, 省略已安装的任何依赖项? 我有一个运行的 virtualenv,命令如下 $ pip install A B C $ pip install X Y Z 因
这个问题在这里已经有了答案: How to upgrade all Python packages with pip (50 个回答) 2年前关闭。 我有一个 bash 命令来升级我安装的所有 pip
我正在尝试使用 ssh 运行一些 python 脚本以登录到谷歌计算引擎,但由于我没有权限访问我的用户中的 .cache/pip 文件夹,所以找不到所有已安装的 pip 模块是否有正确的方法来执行此操
有没有办法告诉 pip 永远不要为我的包创建轮缓存? 背景 我编写了一个供内部使用的包,当使用 setup.py 中的 cmdclass 安装时,它会设置一些符号链接(symbolic link)。如
我看过类似的帖子 pip install vs python3 -m pip install 这并没有真正澄清这个问题。 我是 Python 新手,只是遵循基本的 python 3 教程,他们提到 p
我是一名优秀的程序员,十分优秀!