背景:Python很火,且连一些如ESP8266的硬件都支持Python了。
目前Python存在两个版本Python2和Python3系列,且这两个版本同时在更新与维护。到底是选择Python2还是选择Python3,取决于当前要使用的库、框架支持哪个版本。因此一台电脑上可能需要同时安装Python2和Python3两个版本。本文主要讲述的是如何在centos7系统中存在python2系列的同时安装python3.6.2(目前python3系列的最新版本)

1.安装升级相应的软件包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

2.下载python 3.6 的源码包
wget http://mirrors.sohu.com/python/3.6.2/Python-3.6.2.tgz

3.安装python3.6
tar zxvf Python-3.6.2.tgz -C /opt/
cd /opt/Python-3.6.2/  
./configure --prefix=/usr/local/python3
make && make install  

若遇到编译问题:
zipimport.ZipImportError: can't decompress data; zlib not available  #make && make install
yum install zlib zlib-devel -y

4.配置python,配置python3  pip3 软链接,设置软连接:目的是让我们直接在任何地方输入python3命令都可以得到python解释器的运行。
更改/usr/bin/python链接:
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip   #python2-pip没有,就没有这个pip.
查看是否安装成功
python3 -V
pip3 -V

更改/usr/bin/python默认链接,实现升级:
/usr/bin/python --version
Python 2.7.5
mv /usr/bin/python{,.backup}
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python


5.查看当python的版本,出现版本信息即为正确安装
python3 --version


6.更改yum脚本的python依赖
# ls /usr/bin/yum*
# ls yum*
yum yum-config-manager yum-debug-restore yum-groups-manager
yum-builddep yum-debug-dump yumdownloader
更改以上文件头为
#!/usr/bin/python 改为 #!/usr/bin/python2

用Sed 一行搞定,参考自[实践OK]经常用到之linux sed 批量替换字符串,及模糊替换和模糊拼接的例子。http://jackxiang.com/post/2324/:
/usr/bin/yum-groups-manager  #!/usr/bin/python -tt
/usr/bin/yumdownloader #直接python后面有一个空格
/usr/bin/yum-debug-restore #!/usr/bin/python -tt
/usr/bin/yum-debug-dump  #!/usr/bin/python -tt
/usr/bin/yum-config-manager #!/usr/bin/python -tt
/usr/bin/yum-builddep  #!/usr/bin/python -tt
/usr/bin/yum  #python后面无空格
势必要有两种替换:
sed -i 's/#!\/usr\/bin\/python /#!\/usr\/bin\/python2.7 /' /usr/bin/yum-builddep
sed -i 's/#!\/usr\/bin\/python /#!\/usr\/bin\/python2.7 /' /usr/bin/yum-config-manager
sed -i 's/#!\/usr\/bin\/python /#!\/usr\/bin\/python2.7 /' /usr/bin/yum-debug-dump
sed -i 's/#!\/usr\/bin\/python /#!\/usr\/bin\/python2.7 /' /usr/bin/yum-debug-restore
sed -i 's/#!\/usr\/bin\/python /#!\/usr\/bin\/python2.7 /' /usr/bin/yumdownloader
sed -i 's/#!\/usr\/bin\/python /#!\/usr\/bin\/python2.7 /' /usr/bin/yum-groups-manager
sed -i 's/#!\/usr\/bin\/python/#!\/usr\/bin\/python2.7/' /usr/bin/yum



7.测试用Python的Pip3安装Python扩展:
rpm -qf /bin/pip
python2-pip-8.1.2-5.el7.noarch
/bin/pip --version
pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)

pip3 --version
pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)

pip3 install PyEmail
Collecting PyEmail
  Downloading https://files.pythonhosted.org/packages/ca/39/caf0436670b6fa9f072e322fab1a2b04d5631bdbdc8ea9857230aae02dd5/PyEmail-0.0.1.zip
Installing collected packages: PyEmail
  Running setup.py install for PyEmail ... done
Successfully installed PyEmail-0.0.1
You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

pip3 install ipdb
Collecting ipdb
  Downloading https://files.pythonhosted.org/packages/80/fe/4564de08f174f3846364b3add8426d14cebee228f741c27e702b2877e85b/ipdb-0.11.tar.gz
Requirement already satisfied: setuptools in /usr/local/python3/lib/python3.6/site-packages (from ipdb)
Collecting ipython>=5.0.0 (from ipdb)
  Downloading https://files.pythonhosted.org/packages/b1/7f/91d50f28af3e3a24342561983a7857e399ce24093876e6970b986a0b6677/ipython-6.4.0-py3-none-any.whl (750kB)
    62% |████████████████████            | 471kB 54kB/s eta 0:00:06
好一会下载安装就能装上这个,但是提示:You are using pip version 9.0.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
pip install --upgrade pip

pip install ipdb   #再一次安装这个Python的调试扩展
python -m pdb mail.py

最后,这些脚本总结起来放一块就这些,方便后期再安装之用:


来自:https://blog.csdn.net/hobohero/article/details/54381475
来自:https://blog.csdn.net/wjqwinn/article/details/75633714
背景:很常用的一些基础文本操作,记录下来备查。
一)把空格连接改为|连接:
#cat b
a b c d

awk -vOFS="|" 'NF+=0' b
a|b|c|d

[解析]
  替换字段分割符,必须要对字段有个action才能使OFS生效,这里我们运用 NF+=0 的方法,即有了操作,而并为改变其原有的值,很巧妙吧。

二)去空行:
cat a
1

2

3

awk NF a
1
2
3

[解析]
  排除空行,因为空行NF=0,0为假不会打印该行。

三)输出中间列:
#cat c
a b c d e f
1 2 3 4

awk 'NF-=2' c
a b c d
1 2

awk '{for(i=3;i<NF;i++)printf("%s ",$i);print $NF}' c
c d e f
3 4

$NF:最后一列

[解析]
  不输出后面2个字段和前面2个字段。

实践来自:https://blog.csdn.net/zwj1030711290/article/details/53923459





一)把空格连接改为|连接:
#cat b
a b c d

awk -vOFS="|" 'NF+=0' b
a|b|c|d


二)去空行:
cat a
1

2

3

awk NF a
1
2
3


三)
背景:鉴于安全的原因,如果你的电脑没有桌面锁密码,别人也能用,此时不安全,得把对应的自动填写的用户各、密码的Cookie清理掉,而对于那个Chrome记住并自动填写登录的用户名和密码也不安全,只需要输入验证码就进入了,于是查了下怎么给去掉这些的存在Chrome里,实践是可行的,很有必要记录下来,免得忘记了,无它。

一)如何在Chrome中删除特定于站点的Cookie:
chrome://settings/
高级-内容设置-Cookie-所有 Cookie 和网站数据[右侧有一个搜索Cookie:输入jackxiang.com]-点进去就有-XXXX.com 本地存储的数据:
PHPSESSID    --> X
userid            --> X
userpasswd    --> X

来自:http://mos86.com/67173.html


二)如何删除chrome保存的密码:
chrome://settings/
Ctrl+shift+del,里弹出一个清除浏览数据,里面有一个:密码项,再就是有一个选择是:过去七天、近四周、时间不限。
选一个时间,并勾选,其它给不勾选,执行即可。
如果你是当天数据的,选过去一天即可,依次类推。然后勾选<密码>项。最后选择清楚浏览数据。这样操作就完成啦。当你再次登录之前的网站时,你发现你就需要重新输入密码了。

来自:https://jingyan.baidu.com/article/f3ad7d0fe5e71309c3345baf.html
Sublime编辑器里,用正则把一堆IP粘贴选取出来:



来自:https://www.jb51.net/article/101221.htm
用ssh登录阿里云centos7主机,过一会儿会自动出现以下信息,
Message from syslogd@docker_test_bj_sjs_10_71_159_108 at Jun 11 17:49:08 ...
kernel:unregister_netdevice: waiting for lo to become free. Usage count = 1
在这个信息中,我这里按ctrl+c可以退回到

https://m.aliyun.com/yunqi/ask/2877/
[root@localhost ~]# mount -t xfs /dev/sdb /data        
mount: mount /dev/sdb on /data failed: Structure needs cleaning

--------------------------
可以使用xfs_repair来修复,但是要注意 xfs_repair修复的分区中的文件都会丢失,即使是du能正常显示的文件也会丢失。

[root@yw-0-0 /]# mount -a
mount: Structure needs cleaning

[root@yw-0-0 /]# xfs_repair /dev/sdl

来自:http://blog.51cto.com/zwcmcm/1650764
Linux中在终端打开图形界面的文件夹的方法   
终端输入nautilus /home进入home

       nautilus /etc 进入etc
一次类推吧,要是在以终端打开文件夹可以sudo apt-get install nautilus-open-terminal注销后登陆即可使用

一直在终端中用cd /目录 的方式进入字符界面的文件夹,有时你需要进入图形界面的文件夹,那么利用下面的方法从终端打开,替代或减少鼠标的点击次数,就能提高效率。   gnome-open /etc  ubuntu中 nautilus /etc  nautilus['nɔːtɪləs]这个命令就是以root权限打开一个窗口,来管理文件。比如你直接点击 计算机 里面有很多文件夹和文件是root用户才能操作,  所以你对该文件夹或文件不能进行粘贴,剪切,删除等操作,也不能建立新文件,而用nautilus命令后就可以了。 比如你要修改 /etc/apt/sources.list 不用终端的话,直接点文件夹进入该目录,你只有查看的权限,而用了nautilus命令后再进该目录,你就可以对里面的文件修改,删除,建新文件等。
mkfs.ext4 经yum update的升级到CentOS7.5后没了mkfs.ext4,于是 得安装:
安装https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/e2fsprogs-1.42.9-11.el7.x86_64.rpm这个包

[root@iZ889v050nrZ:~]
#cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

[root@iZ889v050nrZ:~]
#rpm -qf /sbin/mkfs.ext4
e2fsprogs-1.42.9-11.el7.x86_64
想鼠标切换又能复制,怎么办?
set mouse=a可视下,用:按住 shift 键,然后选择。
在~/.vimrc中加入 set mouse=a 后,vim鼠标右键变得不能复制了,解决办法如下:
按住 shift 键,然后选择,此时表示由 X 处理该选择,copy 选项就 enable 了。如果放掉shift键,则由 vim处理该选择。

所以配置文件中的set mouse=a启动了所有模式, vim接管了鼠标的控制。

其中涉及的背景知识是:
鼠标事件有两种处理方式,程序处理和 X 处理。
如果 X 负责处理,则是左键选择,中间粘贴。
要让 vim 中由 X 负责处理,有两个方法:
1. 按住 shift 键,然后选择,此时由 X 处理该选择,copy 选项就 enable 了。如果放掉shift键,则由 vim处理该选择。
2. 在 .vimrc 中设置 set mouse= (就是说清空),此时vim永远不再干涉鼠标选择,永远把处理权交给X,这个时候鼠标就处于无模式编辑状态, 当然也能用鼠标来切换vim里面的tab窗口了,vim中的编辑光标也不会跟随鼠标了。
实践Ok来自:https://blog.csdn.net/sinkary/article/details/7531747

:set mouse=v
但这样后,Vim的标签就无法用鼠标切换了,http://jackxiang.com/post/9110/
想用鼠标点vim里的Tab,能切换标签,得重新运行::set mouse=a ,实践是可行的。
阅读全文
在Finder里,也不是类似下载文件夹里,输入:
Command+Shift+G
会弹出一个输入路径的框,输入路径也就跳转过去了。
遇到该问题并非安装的软件已损坏,而是Mac系统的安全设置问题,一般大多时候是在安装汉化或者破解版的时候会遇到。

但是之前设置过Mac的安全性和隐私,允许安装来自任何地方的软件。不应该出现该问题。

回去排查发现是因为自己升级Mac系统到最新版之后,安全性与隐私中没有了信任任何来源的选项。

Fix
解决的办法除了从 系统偏好设置中设置还可以通过如下命令来设置,设置完毕就会出现“任何来源”

修改系统配置:系统偏好设置… -> 安全性与隐私。修改为任何来源
如果没有这个选项的话 (macOS Sierra 10.12) ,打开终端,执行 sudo spctl –master-disable 即可。

bogon:~ root# sudo master-disablespctl
sudo: master-disablespctl: command not found
bogon:~ root# master-disablespctl
-sh: master-disablespctl: command not found
bogon:~ root# spctl --master-disable
bogon:~ root#


实践来源:https://blog.csdn.net/eagle5063/article/details/78802510
排序
按F9或者选择菜单:Edit > Sort Lines,对每行文本进行排序

查找重复行
排序好后,按Ctrl+F,调出查找面板
查找字符串:

^(.+)$[\r\n](^\1$[\r\n]{0, 1})+
注意:确保正则模式开关打开;若不可用,按Alt+R进行切换
点击Find。
实践发现先得F9,再查找重复,重复的一块,不同的线隔开。


删除重复行
排序好后,按Ctrl+H,调出替换面板
查找字符串:

^(.+)$[\r\n](^\1$[\r\n]{0, 1})+
注意:确保正则模式开关打开;若不可用,按Alt+R进行切换。
后面替换为空,即可留下一个即可。

替换字符串:
\1
点击Replace

来自:http://www.cnblogs.com/final/p/5427223.html
一)Yum安装:centos7编译好的strace安装源,在devtoolset-3包中有。

先添加 devtoolset-3 的安装源

yum install centos-release-scl-rh -y
yum install strace --enablerepo=centos-sclo-rh -y

直接安装

yum install strace

其他

1、devtoolset还有很多其他的工具可用,列表见 http://mirror.centos.org/centos/7/sclo/x86_64/rh/

2、还可以通过devtoolset切换高版本gcc编译环境,高版本的py等,详见  http://blog.fungo.me/2016/03/centos-development-env/

参考:https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/

二)源码装:
strace是一个功能强大的调试,分析诊断工具,主要用来监视系统调用。

1.下载strace-xxx.tar.xz

    下载网址是:http://sourceforge.net/project/showfiles.php?group_id=2861&package_id=2819;

2.解压

      $  xz -d   ***.tar.xz

      $  tar -xvf   ***.tar


      可以看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式。

      补充:目前可以直接使用 tar xvJf  ***.tar.xz来解压

3.配置

        ./configure

4.编译

      make

5.安装

    make  install

6.使用



见博文:http://blog.csdn.net/u011630575/article/details/52077563
分页: 1/325 第一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 下页 最后页 [ 显示模式: 摘要 | 列表 ]