我已经安装了 vim 并配置了+python3/dyn. 如果我运行,vim --noplugin我可以使用py3. 但是,启用我的插件后,出现以下错误:
E837: This Vim cannot execute :py3 after using :python
E263: Sorry, this command is disabled, the Python library could not be loaded.
Run Code Online (Sandbox Code Playgroud)
我怀疑其中一个插件加载了 python2,因此定义了正在使用的 python 版本(类似于这个 vim-bootstrap 问题)。问题是我不知道是哪个。
如何在我的 vim 版本中使用 python3?
安装插件
以下插件随 Vundle 一起安装:
60 " let Vundle manage Vundle, required
61 Plugin 'gmarik/Vundle.vim'
62 "Bundle 'Valloric/YouCompleteMe'
63 Plugin 'tmhedberg/SimpylFold'
64 Plugin 'vim-scripts/indentpython.vim'
65 Plugin 'scrooloose/syntastic'
66 Plugin 'scrooloose/nerdtree'
67 Plugin 'jistr/vim-nerdtree-tabs'
68 Plugin …Run Code Online (Sandbox Code Playgroud) 我有一个小的python脚本
#!/usr/bin/env python3
import some_python3_module
def main():
# do stuff
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
并且无法使用 Python3 运行此脚本,因为 ROS 将该PYTHONPATH变量设置为某些与 2.7.版本相关的位置,这意味着 Python 3 在其dist-packages目录中找不到任何模块。我想覆盖这种行为而不必修改外部环境。也就是说,我希望unset PYTHONPATH,但仅限于这个脚本,最好是从它内部,这样shebang仍然可以工作。这可能吗?
不确定这是否更适合 superuser.com
奇怪的是没有找到任何答案,而且由于我从未从 Linux 上卸载过任何东西,我不知道从哪里开始。我需要 Python3,并且只能通过 SSH 访问我正在执行此卸载/安装的机器。
我想卸载 Python2 和所有软件包,然后安装 Python3。是否有任何简单的命令可以运行以执行卸载 Python2 的第一部分?
Ubuntu 18.04,来自我的终端
~$ python3 --version
Python 3.6.8
~$ python3.6 --version
Python 3.6.8
~$ which python3
/usr/bin/python3
~$ which python3.6
/usr/bin/python3.6
~$ ls -la /usr/bin/python*
lrwxrwxrwx 1 root root 9 apr 16 2018 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root 9 apr 16 2018 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3637680 nov 28 2018 /usr/bin/python2.7
lrwxrwxrwx 1 root root 33 nov 28 2018 /usr/bin/python2.7-config -> x86_64-linux-gnu-python2.7-config
lrwxrwxrwx 1 root root 16 apr 16 2018 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x 1 root …Run Code Online (Sandbox Code Playgroud) 现在 Python 2.7 已经正式结束,预计不会有新的安全补丁,我公司正在推动从所有机器中删除 Python 2.7。运行 CentOS 7,yum(至少)仍然需要 Python 2.7,在 Python 3 下会失败。 2.7 并且仍然保持一个功能正常、安全的 Linux 环境?
我有一个 python 函数,它接受一个参数作为输入,我想自动化并通过 bash 调用它。但是当我在调用它时传递变量(字符串)时,bash 给出错误
a="test"
python -c "from pipeline_runs.z_full_pipeline import test; test($a)"
Run Code Online (Sandbox Code Playgroud)
失败了
NameError: name 'test' is not defined
Run Code Online (Sandbox Code Playgroud)
但当变量为 int 时,效果相同
a="10"
python -c "from pipeline_runs.z_full_pipeline import test; test($a)"
Run Code Online (Sandbox Code Playgroud)
当第一个代码失败时它会运行。任何人都可以解释为什么会出现这样的行为,以及我应该更改什么才能将字符串从 bash 脚本传递到 python 函数
我需要完成过滤日志文件中机器人活动的任务。
解决方案应仅显示满足以下条件的记录
输入数据示例
[a lot of data]
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged in| -
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user changed password| -
Mon, 22 Aug 2016 13:15:39 +0200|178.57.66.225|fxsciaqulmlk| - |user logged off| -
Mon, 22 Aug 2016 13:15:42 +0200|178.57.66.225|faaaaaa11111| - |user logged in| -
Mon, 22 Aug 2016 13:15:40 +0200|178.57.66.215|terdsfsdfsdf| - |user logged in| -
Mon, 22 Aug 2016 13:15:49 +0200|178.57.66.215|terdsfsdfsdf| - |user changed password| -
Mon, 22 Aug 2016 13:15:49 …Run Code Online (Sandbox Code Playgroud) 我的机器中有两个 python 版本python2.7和python3.7.4。如何将我的python3.7.4升级到python3.8并将其设置为所有用户的默认值?