Python 笔记

Summary: Author: 张亚飞 | 阅读时间: 2 minute read | Published: 2016-08-14
Filed under Categories: LinuxTags: Note,

Python 笔记

Mac 下 Python 升级

Mac 下默认的 Python 为 2.7,需手动升级到版本 3.6

  • 去官网下载最新的Python安装包
wget https://www.python.org/ftp/python/3.6.4/python-3.6.4-macosx10.6.pkg
  • 安装下载下来的安装文件,安装后的文件目录如下:
/Library/Frameworks/Python.framework/Versions/3.6
  • 移动安装的Python文件,打开终端,执行命令:
sudo mv /Library/Frameworks/Python.framework/Versions/3.6 /System/Library/Frameworks/Python.framework/Versions

在macOS 10.12及以后可能会出现权限问题,这是因为苹果加入了一个安全相关的模式叫 SIP,你需要disable一下,见百度知道.

可以发现,现有版本的Python文件都是在 /System/Library/Frameworks/Python.framework/Versions 目录下.

  • 改变Python安装目录的用户组

查看Python 2.7的用户组位wheel,执行以下命令:

sudo chown -R root:wheel /System/Library/Frameworks/Python.framework/Versions/3.6
  • 修改Python当前安装目录的一些快捷方式

/System/Library/Frameworks/Python.framework/Versions/目录下有一个Current,这是一个目录符号链接,指向当前的Python版本.原来指向2.7的,现在指向我们安装的最新的.所以应先删除Current,然后重新建立Current符号链接,命令如下:

  • 删除连接:
sudo rm /System/Library/Frameworks/Python.framework/Versions/Current
  • 建立连接:
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6 /System/Library/Frameworks/Python.framework/Versions/Current
  • 删除旧的命令符号链接

/usr/bin 目录下有4个python命令的符号链接,使用下面的命令先删除,如果没有的话可以不用管

sudo rm /usr/bin/pydoc
sudo rm /usr/bin/python
sudo rm /usr/bin/pythonw
sudo rm /usr/bin/python-config
  • 重新建立新的命令符号链接

将上一步删除的符号链接重新使用下面命令建立,如果没有可以不管,它们都指向Python3.6.

sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pydoc3.6 /usr/bin/pydoc
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /usr/bin/python
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/pythonw3.6 /usr/bin/pythonw
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config /usr/bin/python-config
  • 更新 /root/.bash_profile 文件中的路径

~/.bash_profile

# Setting PATH for Python 3.6
# The orginal version is saved in .bash_profile.pysave
PATH="/System/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH
  • 现在重新启动一下Console,然后执行python –version,得到的就是Python 3.6

  • 如果在程序中,需要使用下面代码获取python版本

import platform
print(platform.python_version())

现在可以使用最新的Python3.6.4了.


Python:virtualenv


Window 下安装 Python 和 pip

安装 Python

安装 pip

如果系统已经安装的 python 版本 是 python2 >= 2.7.9 ,则默认已经包含了 pip,但是要作如下设置 下载 https://bootstrap.pypa.io/get-pip.py 到任意一个目录 运行自动安装脚本程序

python get-pip.py

并将路径 C:\Python27\Scripts 添加到 PATH 系统环境变量


Window 下安装 PySide

pip install -U PySide

问题分析

使用php调用python程序使用日志打印日志文件错误,因为运行php的文件夹和没有写权限导致

$result = shell_exec('python /data/home/coam/ServerCoam/Python/logger.py');
# handler = logging.FileHandler('tester.log')
handler = logging.FileHandler('/data/home/coam/ServerCoam/Python/tester.log')

参考 Python Logging Impeding Call from PHP Script

Comments

  • Erika Miller says: 2020-02-11 03:15:07

    Is it okay if we feature your site in our next email newsletter? It's a perfect fit for a piece we're doing and I think our audience would find some of the content on your site super useful. I know you're probably busy, so just a simple yes or no would suffice. Many Thanks,

Cor-Ethan, the beverage → www.iirii.com