标签: python3

在 Ubuntu 中更改 Python3 默认版本

我正在使用 Ubuntu 16.04 LTS 。我已经python3安装了。安装了两个版本,python 3.4.3python 3.6. 每当我使用python3命令时,它都会python 3.4.3默认使用。我想python 3.6python3.

python3 --version 显示 version 3.4.3

我正在安装ansible支持version > 3.5. 所以,每当我在终端中输入 ansible 时,它​​都会抛出错误,因为python 3.4

sudo update-alternatives --config python3
update-alternatives: error: no alternatives for python3
Run Code Online (Sandbox Code Playgroud)

ubuntu python python3

257
推荐指数
7
解决办法
65万
查看次数

zipimport.ZipImportError: 无法解压数据;zlib 不可用

在 RHEL 6.6 上,我从源代码安装了 Python 3.5.1。我正在尝试通过 get-pip.py 安装 pip3,但我得到了

Traceback (most recent call last):
  File "get-pip.py", line 19177, in <module>
    main()
  File "get-pip.py", line 194, in main
    bootstrap(tmpdir=tmpdir)
  File "get-pip.py", line 82, in bootstrap
    import pip
zipimport.ZipImportError: can't decompress data; zlib not available
Run Code Online (Sandbox Code Playgroud)

它适用于安装的 Python 2.6.6。我在网上寻找答案,但似乎找不到适合我的答案。

编辑: yum search zlib

jzlib.i686 : JZlib re-implementation of zlib in pure Java
perl-Compress-Raw-Zlib.i686 : Low-Level Interface to the zlib compression library
perl-Compress-Zlib.i686 : A module providing Perl interfaces to the zlib compression library …
Run Code Online (Sandbox Code Playgroud)

rhel python pip python3

94
推荐指数
4
解决办法
19万
查看次数

我的脚本有问题还是 Bash 比 Python 慢得多?

我通过运行 10 亿次循环来测试 Bash 和 Python 的速度。

$ cat python.py
#!/bin/python
# python v3.5
i=0;
while i<=1000000000:
    i=i+1;
Run Code Online (Sandbox Code Playgroud)

重击代码:

$ cat bash2.sh
#!/bin/bash
# bash v4.3
i=0
while [[ $i -le 1000000000 ]]
do
let i++
done
Run Code Online (Sandbox Code Playgroud)

使用该time命令,我发现 Python 代码只需要 48 秒即可完成,而 Bash 代码在我杀死脚本之前需要 1 个多小时。

为什么会这样?我预计 Bash 会更快。我的脚本有问题还是 Bash 使用这个脚本真的慢得多?

bash python3

32
推荐指数
5
解决办法
1万
查看次数

如何使用 systemd 在 vi​​rtualenv 中运行命令

我相信这应该很简单,但我无法让它正常工作。

这些是我可以在命令行上运行的命令:

cd /home/debian/ap

# Start a virtualenv
source venv-ap/bin/activate

# This needs to happen inside the virtualenv and takes ~20 seconds
crossbar start

# Outside the virtualenv, perhaps in a different command line window
python3 /home/debian/myscript.py
Run Code Online (Sandbox Code Playgroud)

这些命令必须按此顺序执行。由于 virtualenv、不可执行的 crossbar 以及之后的单独 python 脚本,我一直无法找出使其工作的最佳方法。我目前正在进行的工作:

[Unit]
Description=Start CB
After=network.target

[Service]
Type=simple
User=debian
ExecStartPre=source /home/debian/ap/venv-ap/bin/activate
ExecStart=cd /home/debian/ap/ && crossbar start
Restart=always

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

python systemd python3 virtualenv

27
推荐指数
1
解决办法
3万
查看次数

在 Centos 7.3 上为 python3 安装 psycopg2 包的 gcc 错误

根据这个答案,我执行了一系列先决条件设置以准备pip安装python3软件包。

然而,当我跑

python3 -m pip install psycopg2
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Downloading/unpacking psycopg2
  Downloading psycopg2-2.6.2.tar.gz (376kB): 376kB downloaded
  Running setup.py (path:/tmp/pip-build-1ocbvumt/psycopg2/setup.py) egg_info for package psycopg2

Installing collected packages: psycopg2
  Running setup.py install for psycopg2
    Skipping implicit fixer: buffer
    Skipping implicit fixer: idioms
    Skipping implicit fixer: set_literal
    Skipping implicit fixer: ws_comma
    building 'psycopg2._psycopg' extension
    gcc -pthread -Wno-unused-result -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python34/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong …
Run Code Online (Sandbox Code Playgroud)

gcc centos python3

21
推荐指数
2
解决办法
2万
查看次数

如何使python3.7成为默认值

我已经安装了 python3.7,但是我不确定如何使它成为默认的 python。

见下文:

~/Documents/robosuite$ python3.7
Python 3.7.1 (default, Oct 22 2018, 11:21:55) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
KeyboardInterrupt
>>> 

~/Documents/robosuite$ python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
Run Code Online (Sandbox Code Playgroud)

我希望在使用命令时显示 python3.7 python3

python python3

20
推荐指数
2
解决办法
5万
查看次数

使用“apt”和“pip”安装软件包之间的区别

我一直在尝试安装依赖于setuptools的Python模块,显然该模块是使用apt安装的。然而,它似乎是错误的版本,所以我尝试使用pip安装它,只是为了看看是否有任何变化(剧透:显然没有任何变化)。

以下之间有什么区别(如果有)?

pip3 install setuptools
Run Code Online (Sandbox Code Playgroud)

和:

apt install python3-setuptools
Run Code Online (Sandbox Code Playgroud)

apt pip python3

17
推荐指数
1
解决办法
4457
查看次数

在 conda 虚拟环境下运行的 cron 作业

我设置了一个 Anaconda Python 虚拟环境,如果我在激活该虚拟环境时运行我的项目,一切运行良好。

但是我有一个配置为每小时运行一次的 cronjob。我将输出通过管道传输到日志,因为它没有正确运行。

crontab -e

10 * * * * bash /work/sql_server_etl/src/python/run_parallel_workflow.sh >> /home/etlservice/cronlog.log 2>&1
Run Code Online (Sandbox Code Playgroud)

我在 cronlog.log 中收到此错误:

Traceback (most recent call last):
  File "__parallel_workflow.py", line 10, in <module>
    import yaml
ImportError: No module named yaml
Run Code Online (Sandbox Code Playgroud)

这表明在没有激活虚拟环境的情况下,cronjob 以某种方式不运行文件。

为了解决这个问题,我在/home/user/.bash_profile文件中添加了一行:

conda activate ~/anaconda3/envs/sql_server_etl/
Run Code Online (Sandbox Code Playgroud)

现在,当我登录时,环境会自动激活。

但是,问题仍然存在。

我又尝试了一件事。我更改了 cronjob,(我也在 cronjob 运行的 bash 文件中尝试了这个)以在每次运行时明确手动激活环境,但无济于事:

10 * * * * conda activate ~/anaconda3/envs/sql_server_etl/ && bash /work/sql_server_etl/src/python/run_parallel_workflow.sh >> /home/etlservice/cronlog.log 2>&1
Run Code Online (Sandbox Code Playgroud)

当然,我试过的任何东西都没有修复它。我真的对 linux 一无所知,所以也许我需要改变一些明显的东西。

那么,无论如何要指定 cronjob 应该在虚拟环境下运行?

linux cron python3

14
推荐指数
2
解决办法
1万
查看次数

替代 bluez 中现已弃用的 rfcomm 二进制文件

从 bluez 5.44 开始,包含在 bluez-utils(其中包括 hcitool)中的 rfcomm 二进制文件被认为已弃用,从现在开始只包含在 AUR 提供的 bluez-utils-compat 包中。

是否有类似的命令行应用程序使用 rfcomm 内核模块将蓝牙设备绑定到串行端口,或者从现在开始我是否必须使用 PyBluez 或类似的库?

如果碰巧是后者,您会推荐哪些 Python 3 库?

如果有人知道,请告诉我为什么这么多 bluez-utils 突然被认为已弃用。我找不到任何关于那件事的信息。

ArchWiki建议使用新的执行RFCOMM功能d-Bus的配置文件1 API

tty bluetooth bluez python3

10
推荐指数
1
解决办法
4127
查看次数

如何在Ubuntu 20.04中降级python版本?

我需要将 python 版本从 3.8 更改为 3.6 ?我怎样才能在 Ubuntu 20.04 中实现这一点?pyenv global 3.6.0我尝试过 pyenv,但是当我尝试像那时一样使用 pyenv 时,python3我仍然有 3.8 版本。

ubuntu version python python3

10
推荐指数
2
解决办法
8万
查看次数

标签 统计

python3 ×10

python ×5

pip ×2

ubuntu ×2

apt ×1

bash ×1

bluetooth ×1

bluez ×1

centos ×1

cron ×1

gcc ×1

linux ×1

rhel ×1

systemd ×1

tty ×1

version ×1

virtualenv ×1