实用工具---python安装注意事项

xiaoxiao2021-02-28  15

安装python的集成开发环境

windows下安装

可安装wingide, 或者pycharm 。以wingide为例,至官网下载最对应版本,里面已经集成了python内核和对应的开发调试界面,如python-2.5.2+wingide-101-3.2.13-1。先装python后装wingide,采用默认设置,wingide装在python的安装目录内,则能成功。 但是python只具备基本的功能包,像numpy,matplotlib这些还需要自己安装。也可以安装anaconda,该软件已经预装了一个科学统计和机器学习的相关库,操作会更简单一点。

ubuntu下安装

ubuntu下系统已经预装了两个版本的python内核,分别是python2.7和python3.5。为了方便使用我们可以安装IPYHTON这类简单的开发界面(调试功能需要自己另外安装相关库进行配置),也可以安装pycharm这类开发环境,网上都有免费版。 安装方法,先到官网下载linux版本的二进制安装文件,该类安装文件以.tar.gz为后缀,如pycharm-community-2017.2.4.tar.gz。然后将文件解压缩至想安装的位置。由于linux用户权限的问题,直接在下载文件位置无法解压文件至目标位置。需要先进入目录位置,如cd /usr,然后将安装文件复制过来cp ~/下载/pycharm-community-2017.2.4.tar.gz ./。然后再解压缩文件,tar -xf pycharm-community-2017.2.4.tar.gz。然后再将pycharm安装路径,添加至环境变量,

sudo gedit /etc/profile

在文件中添加如下代码

export PYCHARM_HOME=/usr/pycharm-community-2017.2.4 export PATH=$PATH:$PYACHARM_HOME/bin

首次运行pycharm,需要到运行sh bin/pycharm.sh,以后就可以直接在dash里输入pycharm就会显示pycharm的图标,点击图标即可运行pycharm。此时就可以进行pycharm的开发和使用了。 在pycharm新建项目时注意选择合适的翻译器,如python3 关于pycharm的使用和设置,可参考该博文,里面有详细的介绍。

安装自己需要的python库

windows下安装

到相应功能包的官网(直接网上搜XXX包下载即会出现)下载与python版本一致的库。 exe格式包安装 exe格式的安装文件,下载后直接点击安装即可,一般不需要什么配置。 便慢慢地exe格式的安装文件都没有了。 源文件安装 准备工作:首先将python路径加到系统环境变量中去,否则系统找不到python,并重启系统,设置才能生效;安装setuptools,setuptools是安装其他包的基础; 安装方法:1、在cmd中进入源文件解压后的目录(cd…是返回目录上一级,cd XX是进入该目录,最好将解压后的文件放到python目录下这样文件不会太乱,当然不放一起也不影响功能),2、执行 python setup.py install即完成相应包的安装,有可能会存在包依赖,此时去安装缺少的那个包即可,其他包安装方法一样。3、检验包是否安装成功,可到python下载入对应包,并运行一些代码,如果python已打开,可能新安装的包不能载入成功,关闭python重启即可

关于python中的setup.py confusion with results of python setup.py install --user wheel安装法 一、安装wheel 首先通过pip命令安装wheel,都是cmd进入window命令终端后进行的。 如果提示"’pip’不是内部或外部命令,也不是可运行的程序或批处理文件",可以如下处理: ①将python安装目录下的scripts目录(例如D:\Python27\Scripts)添加到系统环境变量path里,注意前加分号。再执行该命令

pip install wheel

②在cmd下进入到D:\Python27\Scripts目录下执行该命令

pip install wheel 二.安装whl文件格式的库

①如果将D:\Python27\Scripts目录添加到path中,可以直接在whl文件所在目录用管理员打开一个cmd窗口,直接执行下面的语句。

pip install python_dateutil-2.5.3-py2.py3-none-any.whl

②否则的话,需要在D:\Python27\Scripts目录下用管理员打开cmd,运行pip命令,文件名应该写全路径)

pip install C:\Users\xxx\Downloads\python_dateutil-2.5.3-py2.py3-none-any.whl

ubuntu下安装

一种方法是直接在命令终端运行sudo apt install python3-库名,好像有少数的包只能这些操作,当然pip包是要用这种方法先安装的; 一种方法是在命令终端用pip命令安装,sudo pip install 库名;但是由于这些源一般都国外的源,网络等方面的原因可能会导致安装很慢或不成功。我们可以自己更改源。意外发现有一个豆瓣的源,网速飞快还几乎不会失败。 第三种方法是源码安装,或egg文件安装只操作过一次。

解压缩,进入目录 tar -xzvf pyhs2-0.3.2.tar.gz cd pyhs2-0.3.2 执行安装命令(这里可选择在不同的版本中安装,比如,系统默认是python2,那么python setup.py install 则会在系统python中安装该库,如果自己安装在python3,那么可以python3 setup.py install则会在python3中安装该库) python setup.py install 等待安装完成 安装完成后,会在site-packages目录生成一个.egg文件,而原来的源码解压目录则可以删除

.egg文件

egg文件是一种打包,后缀名可以改成rar,直接解压缩,按照源码的形式安装 一种最简单的安装方法就是把egg文件和egg文件解压出来的文件夹直接复制到Python的第三方库文件夹..Lib\site-packages中

第四种方法是下载相应版本的whl文件,然后pip install wheel 就可以安装wheel。

sudo pip3 install -i https://pypi.doubanio.com/simple/ 包名

阿里云的链接

sudo pip3 install -i http://mirrors.aliyun.com/pypi/simple/

windows平台下比较详细的wheel包: Unofficial Windows Binaries for Python Extension Packages

国外的资源: Unofficial Windows Binaries for Python Extension Packages https://www.lfd.uci.edu/~gohlke/pythonlibs/

(可预先安装好numpy、Scipy、Pandas、Scikit-Learn、Matplotlib、NLTK、pyspark、scrapy、collections(这个似乎是python自带的库) )、seaborn 、kafka-python、hdfs、PyMySQL、tables=3.3.0、jupyter、statsmodels等 下面也是一些可以先安装好的库,其他一些为基本库,

sudo apt-get install autoconf curl libmysqld-dev libaio-dev libjpeg62-dev libpng12-dev libfreetype6-dev libssl-dev zlib1g-dev sudo apt-get install libbz2-dev libgdbm-dev sudo apt-get install sqlite3 libsqlite3-tcl libsqlite3-dev sudo apt-get install python-bsddb3

删除指定的模块或者包

pip uninstall xxx

python升级

查看Python版本

python –V

可以看到系统目前自带的python版本 1、切换到下载文件的目录中(此目录可以自定义) 如 /home/qjzh/miniconda/envs/water_meter2/downloads 2、进入 Python下载页面,选择需要的版本。 这里选择的版本是 3.5.2

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz

或者使用清华站点的资源

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/python-3.5.2-0.tar.bz2

使用wget下载的前提是系统已经安装wget

debian 或者 ubuntu : sudo apt-get install wget centos : sudo yum -y install wget

也可以用xshell将下载好的软件上传到服务器上。 下载的文件在当前的文件夹内 3、解压安装,命令如下:

tar -xvf Python-3.5.2.tgz

4、切换到源码包

cd Python-3.5.2

5、配置指定python的安装目录

./configure --prefix=/usr/local/python3

如果执行 ./configure 时,如果报错:

configure: error: no acceptable C compiler found in $PATH

说明没有安装合适的编译器。这时,需要安装/升级 gcc 及其它依赖包。

yum install make gcc gcc-c++

完成之后,重新执行:

./configure

6、编译和安装python 配置完成之后,就可以编译了:

make

漫长的等待……完成后,安装:

make install

7、备份原有的老版本python 执行如下的指令:

ls -al /usr/bin | grep python

结果如下:

-rwxr-xr-x. 1 root root 11216 12月 1 2015 abrt-action-analyze-python lrwxrwxrwx. 1 root root 7 8月 30 12:11 python -> python2 lrwxrwxrwx. 1 root root 9 8月 30 12:11 python2 -> python2.7 -rwxr-xr-x. 1 root root 7136 11月 20 2015 python2.7

从上面的结果可以看到 python 最终链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。 备份的老版本号

mv /usr/bin/python /usr/bin/python.old

此时python.old没有指向,而python2也失去了指向,python2会变红表示有问题。后面重新指定python的的链接后又会恢复正常。 8、创建软链接指向

ln -s /usr/local/python3/bin/python3 /usr/bin/python

上式中,/usr/local/python3/bin/python3是指向了可执行文件/usr/local/python3/bin/python3.5,所以最终/usr/bin/python也指向了/usr/local/python3/bin/python3.5 如果在linux shell里输入python显示的版本仍然是其他版本的话,有可能是因为在环境变量里有几个版本的python路径,比如我开始里安装了miniconda,并将miniconda/bin添加到环境变量里了,echo $PATH的时候可以看到path里即有miniconda/bin而且排在系统的/usr/bin之前,这时在linux shell里输入python时就先启动miniconda/bin对应的版本,相当于把系统默认的python版本变成了miniconda/bin对应版本。 9、 修改yum配置(否则yum无法正常运行) 更新python过程中,我们有一步是备份原有的老版本python,原因就是系统的很多基本的命令、软件包都要依赖预装的老版本python的,比如yum,千万不要把老版本的删除!新老版本是可以共存的。 升级玩Python后我们再使用yum命令,发现已经不能使用了,处理方法也很简单

vim /usr/bin/yum

把文件头部的

#!/usr/bin/python

改成之前我们备份的老版本号

#!/usr/bin/python.old

如若有其他命令、软件不能正常使用,仿照yum配置文件的修改方法修即可。

如果觉得这样升级对系统的原来软件的影响太大的话,可以不采用这种升级方法,只是新安装一个的版本,具体做法是: 上面步骤基本一样,但是不要动/usr/bin/python,创建软链接指向的时候,不要指到/usr/bin/python即可,如指向:/usr/bin/python3.5

ln -s /usr/local/python3/bin/python3 /usr/bin/python3.5

接下来自己在开发的时候,在文件头使用#!/usr/bin/python3.5就行了

安装pip Pip是一个安装和管理python包的工具。 安装方法如下:

下载pip,地址 https://bootstrap.pypa.io/get-pip.py执行安装命令 yum install setuptool zlib* -y python get-pip.py 创建连接(否则会报错提示“命令不存在”) ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

或者我们也可以将自己版本的pip重命名并链接到/usr/bin下

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

测试: 至此pip安装完成! 如果安装pip时报如下错误:ImportError: cannot import name HTTPSHandle

执行 yum install sqlite-devel

python离线升级

安装python之前可能需要的一些依赖: 需要连网,但是集群环境可能不能上网,这时就需要用代理。运维设置好代理后,需要如下使集群机器能上网。 http_proxy="172.21.96.131:808" export http_proxy 可能需要先安装安装几个包,以方便后续的操作 ➜ yum install wget gcc make ➜ # wget 用于下载源码包 ➜ # gcc 和 make 用于编译 yum -y install zlib* yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel xz-devel 解释:➜ # 解决 import bz2 报错 ➜ yum install bzip2-devel ➜ # 解决 import curses 报错 ➜ yum install ncurses-devel ➜ # 解决 import sqlite3 报错 ➜ yum install sqlite-devel ➜ # 解决 _dbm _gdbm 缺失提醒 ➜ yum install gdbm-devel ➜ # 解决 _lzma 缺失提醒 ➜ yum install xz-devel ➜ # 解决 _tkinter 缺失提醒 ➜ yum install tk-devel ➜ # 解决 readline 缺失提醒及方向键行为非预期的问题 ➜ yum install readline-devel 如果网络有问题:先查集群与代理之间的连接,确保没问题后,可能是源的问题,试试 yum --disablerepo=pgdg10 install XXXX 离线安装:需要将python安装文件和相关的库发送的各节点 scp ./Python-3.5.2.tgz root@bigdata-master:/home/bigdata/downloadtemp scp ./pylibrary.tgz root@bigdata-master:/home/bigdata/downloadtemp 库的安装顺序如下:因为库之间也会有依赖关系 numpy-1.13.3 scipy-1.0.0 pandas-0.21.1 python-dateutil-2.6.1 pytz-2017.3 six-1.11.0 Scikit-Learn-0.19.1 Matplotlib-2.1.1 cycler-0.10.0 pyparsing-2.2.0 NLTK-3.2.5 seaborn-0.8.1 kafka-python-1.3.5 py4j-0.10.4 pyspark-2.2.0 sudo pip3 install numpy-1.14.6-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install scipy-1.0.0rc1-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install six-1.11.0-py2.py3-none-any.whl sudo pip3 install pytz-2017.3-py2.py3-none-any.whl sudo pip3 install python_dateutil-2.4.0-py2.py3-none-any.whl sudo pip3 install pandas-0.21.1-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install scikit_learn-0.20.0-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install cycler-0.10.0-py2.py3-none-any.whl sudo pip3 install pyparsing-2.2.0-py2.py3-none-any.whl sudo pip3 install matplotlib-2.1.1-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install kafka-1.3.5-py2.py3-none-any.whl sudo pip3 install py4j-0.10.4-py2.py3-none-any.whl sudo pip3 install PyMySQL-0.8.0-py2.py3-none-any.whl SQLAlchemy-1.2.12.tar pandas.dataframe直接存mysql需要 安装hdfs==2.1.0依赖requests>=2.7.0和docopt;而requests>=2.7.0依赖idna<2.6,>=2.5和certifi>=2017.4.17和chardet<3.1.0,>=3.0.2和urllib3<1.22,>=1.21.1; 下载:idna-2.5-py2.py3-none-any.whl,certifi-2017.11.5-py2.py3-none-any.whl,chardet-3.0.4-py2.py3-none-any.whl,urllib3-1.21.1-py2.py3-none-any.whl,requests-2.16.0-py2.py3-none-any.whl,docopt-0.6.0.tar,hdfs-2.1.0.tar sudo pip3 install idna-2.5-py2.py3-none-any.whl sudo pip3 install certifi-2017.11.5-py2.py3-none-any.whl sudo pip3 install chardet-3.0.4-py2.py3-none-any.whl sudo pip3 install urllib3-1.21.1-py2.py3-none-any.whl sudo pip3 install requests-2.16.0-py2.py3-none-any.whl cd /usr/local/python35/lib/python3.5/site-packages/docopt-0.6.0 sudo python3 setup.py install hdfs-2.1.0.tar.gz cd /usr/local/python35/lib/python3.5/site-packages/hdfs-2.1.0 sudo python3 setup.py install pyspark 依赖pypandoc,如果没有联网,可能需要先下载安装该库,pypandoc依赖wheel>=0.25.0 sudo pip3 install wheel-0.33.2-py2.py3-none-any.whl sudo cp /home/bigdata/downloadtemp/pylibrary/pypandoc-1.4.tar.gz /usr/local/python35/lib/python3.5/site-packages sudo cp /home/bigdata/downloadtemp/pylibrary/pyspark-2.2.0.post0.tar.gz /usr/local/python35/lib/python3.5/site-packages cd /usr/local/python35/lib/python3.5/site-packages sudo tar -zxf pyspark-2.2.0.post0.tar.gz cd pyspark-2.2.0 sudo python setup.py install tar -zxf nltk-3.2.5.tar.gz cd nltk-3.2.5 sudo python3 setup.py install #tables-3.3.0依赖numexpr>=2.5.2 sudo pip3 install numexpr-2.6.8-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install tables-3.3.0-cp35-cp35m-manylinux1_x86_64.whl #statsmodel依赖patsy sudo pip3 install patsy-0.5.1-py2.py3-none-any.whl sudo pip3 install statsmodels-0.9.0-cp35-cp35m-manylinux1_x86_64.whl #jupyte notebook sudo pip3 install decorator-4.4.0-py2.py3-none-any.whl sudo pip3 install ipython_genutils-0.2.0-py2.py3-none-any.whl sudo pip3 install traitlets-4.3.2-py2.py3-none-any.whl sudo pip3 install MarkupSafe-1.1.1-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install Jinja2-2.9.6-py2.py3-none-any.whl sudo pip3 install entrypoints-0.3-py2.py3-none-any.whl sudo pip3 install jupyter_core-4.0.4-py2.py3-none-any.whl tornado-6.0.2.tar.gz sudo pip3 install wcwidth-0.1.7-py2.py3-none-any.whl backcall-0.1.0.tar.gz sudo pip3 install prompt_toolkit-2.0.9-py3-none-any.whl sudo pip3 install parso-0.4.0-py2.py3-none-any.whl sudo pip3 install jedi-0.13.3-py2.py3-none-any.whl sudo pip3 install ptyprocess-0.6.0-py2.py3-none-any.whl sudo pip3 install pexpect-4.7.0-py2.py3-none-any.whl sudo pip3 install Pygments-2.4.0-py2.py3-none-any.whl sudo pip3 install pickleshare-0.7.5-py2.py3-none-any.whl sudo pip3 install ipython-7.5.0-py3-none-any.whl sudo pip3 install pyzmq-18.0.1-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install jupyter_client-5.2.4-py2.py3-none-any.whl sudo pip3 install ipykernel-5.1.0-py3-none-any.whl sudo pip3 install jupyter_console-6.0.0-py2.py3-none-any.whl tar -xf pyrsistent-0.14.0.tar.gz cd pyrsistent-0.14.0/ sudo python3 setup.py install sudo pip3 install attrs-19.1.0-py2.py3-none-any.whl sudo pip3 install jsonschema-3.0.1-py2.py3-none-any.whl sudo pip3 install nbformat-4.4.0-py2.py3-none-any.whl sudo pip3 install mistune-0.8.4-py2.py3-none-any.whl sudo pip3 install webencodings-0.5.1-py2.py3-none-any.whl sudo pip3 install bleach-3.1.0-py2.py3-none-any.whl sudo pip3 install testpath-0.4.2-py2.py3-none-any.whl tar -xf pandocfilters-1.4.2.tar.gz cd pandocfilters-1.4.2 sudo python3 setup.py install sudo pip3 install defusedxml-0.6.0rc1-py2.py3-none-any.whl sudo pip3 install nbconvert-5.5.0-py2.py3-none-any.whl sudo pip3 install Send2Trash-1.5.0-py3-none-any.whl tar -xf Theano-1.0.1.tar.gz cd Theano-1.0.1 sudo python3 setup.py install sudo pip3 install terminado-0.8.2-py2.py3-none-any.whl sudo pip3 install jupyter_core-4.4.0-py2.py3-none-any.whl tar -xf prometheus_client-0.6.0.tar.gz cd prometheus_client-0.6.0 sudo python3 setup.py install sudo pip3 install notebook-5.7.8-py2.py3-none-any.whl sudo pip3 install qtconsole-4.4.4-py2.py3-none-any.whl sudo pip3 install widgetsnbextension-3.4.2-py2.py3-none-any.whl sudo pip3 install ipywidgets-7.4.1-py2.py3-none-any.whl sudo pip3 install six-1.11.0-py2.py3-none-any.whl sudo pip3 install html5lib-1.0.1-py2.py3-none-any.whl sudo pip3 install python_dateutil-2.4.0-py2.py3-none-any.whl sudo pip3 install colorama-0.4.1-py2.py3-none-any.whl sudo pip3 install jupyter-1.0.0-py2.py3-none-any.whl #读取parquet格式数据需求 sudo pip3 install pyarrow-0.11.0-cp35-cp35m-manylinux1_x86_64.whl # lightgbm sudo pip3 install lightgbm-2.2.3-py2.py3-none-manylinux1_x86_64.whl # xgboost sudo pip3 install xgboost-0.82-py2.py3-none-manylinux1_x86_64.whl # seaborn相关 sudo cp ~/download_temp/pylibrary/seaborn-0.8.1.tar.gz /usr/local/python3/lib/python3.5/site-packages cd /usr/local/python3/lib/python3.5/site-packages sudo tar -xf seaborn-0.8.1.tar.gz cd seaborn-0.8.1 sudo python3 setup.py install #图像相关 unzip networkx-2.2rc1.zip cd networkx-2.2rc1 sudo python3 setup.py install sudo pip3 install Pillow-6.0.0-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install PyWavelets-1.0.3-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install imageio-2.5.0-py3-none-any.whl sudo pip3 install scikit_image-0.15.0-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install opencv_python-4.1.0.25-cp35-cp35m-manylinux1_x86_64.whl [ImportError: libSM.so.6: cannot open shared object file: No such file or directory解决](https://blog.csdn.net/roxxo/article/details/87166706) [CentOS 使用opencv-python 出现ImportError: libSM.so.6等一系列错误](https://blog.csdn.net/weixin_42173719/article/details/102746312) sudo pip3 install torch-1.1.0-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install tqdm-4.19.9-py2.py3-none-any.whl sudo pip3 install torchvision-0.2.2-py2.py3-none-any.whl # keras # tensorflow相关的包 Successfully installed absl-py-0.7.0 astor-0.7.1 gast-0.2.2 grpcio-1.18.0 h5py-2 .9.0 keras-applications-1.0.6 keras-preprocessing-1.0.5 markdown-3.0.1 protobuf- 3.6.1 tensorboard-1.12.2 tensorflow-1.12.0 termcolor-1.1.0 werkzeug-0.14.1 wheel -0.32.3 tar -xf absl-py-0.7.0.tar.gz cd absl-py-0.7.0 sudo python3 setup.py install cd .. sudo pip3 install astor-0.7.1-py2.py3-none-any.whl tar -xf gast-0.2.2.tar.gz cd gast-0.2.2 sudo python3 setup.py install cd .. sudo pip3 install grpcio-1.18.0-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install h5py-2.9.0-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install Keras_Applications-1.0.6-py2.py3-none-any.whl sudo pip3 install Keras_Preprocessing-1.0.5-py2.py3-none-any.whl sudo pip3 install Markdown-3.0.1-py2.py3-none-any.whl sudo pip3 install protobuf-3.6.1-cp35-cp35m-manylinux1_x86_64.whl sudo pip3 install Werkzeug-0.14.1-py2.py3-none-any.whl tar -xf termcolor-1.1.0.tar.gz cd termcolor-1.1.0 sudo python3 setup.py install cd .. sudo pip3 install tensorboard-1.12.2-py3-none-any.whl sudo pip3 install google_pasta-0.1.6-py3-none-any.whl sudo pip3 install tf_estimator_nightly-1.14.0.dev2019030115-py2.py3-none-any.whl sudo pip3 install tb_nightly-1.14.0a20190301-py3-none-any.whl sudo pip3 install tensorflow-2.0.0a0-cp35-cp35m-manylinux1_x86_64.whl tensorflow依赖: tar -xf keras_applications.tar tar -xf Keras_Applications-1.0.8.dist-info.tar tar -xf keras_preprocessing.tar tar -xf Keras_Preprocessing-1.1.0.dist-info.tar tar -xf termcolor-1.1.0.dist-info.tar tar -xf astor.tar tar -xf astor-0.8.0.dist-info.tar tar -xf gast.tar tar -xf gast-0.2.2.dist-info.tar tar -xf wrapt.tar tar -xf wrapt-1.11.2.dist-info.tar tar -xf absl.tar tar -xf absl_py-0.8.0.dist-info.tar tar -xf google.tar tar -xf google_pasta-0.1.7.dist-info.tar tar -xf tensorflow.tar tar -xf tensorflow_estimator.tar tar -xf tensorflow_estimator-1.14.0.dist-info.tar tar -xf tensorflow-1.14.0.dist-info.tar tar -xf DBUtils-1.3.tar.gz cd DBUtils-1.3 sudo python3 setup.py install cd .. #Flask相关 sudo pip3 install click-6.6-py2.py3-none-any.whl sudo pip3 install itsdangerous-1.1.0-py2.py3-none-any.whl sudo pip3 install Flask-0.12.1-py2.py3-none-any.whl sudo pip3 install Flask_MySQL-1.4.0-py2.py3-none-any.whl #网页测试 sudo pip3 install urllib3-1.21.1-py2.py3-none-any.whl sudo pip3 install selenium-3.4.3-py2.py3-none-any.whl 修改python链接后可能出现的问题: 在执行yum命令时忽然发现出现以下报错: # yum list File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid syntax 原因: 这是因为yum采用Python作为命令解释器,这可以从/usr/bin/yum文件中第一行#!/usr/bin/python发现。而python版本之间兼容性不太好,使得2.X版本与3.0版本之间存在语法不一致问题。而CentOS 7自带的yum采用的是python2.7,当系统将python升级到3.4后,出现语法解释错误。 解决办法: 一是升级yum。 二是修改yum的解释器为旧版本python2.7,即将连接文件/usr/bin/python连接回/usr/bin/python2.7。治标不治本,不推荐。 三是在设置里更改解释器设置,即修改/usr/bin/yum文件,指定使用python2.7作为yum的解释器: # vi /usr/bin/yum 将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"即可。 安装软件时又会出现另一种报错 Downloading packages: File "/usr/libexec/urlgrabber-ext-down", line 28 except OSError, e: ^ SyntaxError: invalid syntax 问题与前面一个一样,因此解决办法也是一样的: # vim /usr/libexec/urlgrabber-ext-down 将第一行"#!/usr/bin/python" 改为 "#!/usr/bin/python2"即可。

linux devel包 和 非devel包的区别 关于rpm的后缀devel的含义 RPM repository on fr2.rpmfind.net

python独立环境的离线自动安装

整个考虑是这样(还没试): 先通过脚本安装像gcc 、bzip2等系统需要的软件(可先下载好这些包); 然后通过脚本安装conda(先下载好安装包) 再通过conda 在虚拟环境中安装离线下载好的python压缩文件(这一步似乎不行) 最后在conda创建的虚拟环境中安装相应的python库 关于通过脚本自动安装软件可参考:python自动化脚本安装指定版本python环境详解

离线安装独立环境的python的投机方法

需要独立环境是因为同一机器上可能因为各种原因需要不同版本的python,一般linux系统默认的python版本较低,安装其他版本的时候我们最好不要把/usr/bin下的python链接的对象改变,因为像yum这类系统命令可能依赖于原来版本的python 需要离线安装是因为在搭建集群环境的时候,可能服务器是不能连网的。

可在一台连网的电脑上安装好自己需要的python版本,及可能要用到的python库(这一步不防装全一点),然后将安装目录直接打包,发送到需要安装python的机器。直接解压缩即可,一般此时进入到解压后的bin目录,运行相应的python,就可以启动python,表明python是可用的,如果提示缺少gcc之类的依赖,自己下载即可。

如果用特定版本的python来运行自己的python程序

这里没有修改/usr/bin下的python链接

如果是一般python文件,直接XXXpython yy.py如果是通过spark-submit提交,通过在系统变量里设置PYSPARK-PYTHON=/XX/YY/python,这样提交应用时,spark就知道使用特定版本的python来运行了。

也可以使用下面的方法(具体没有尝试) 不要改系统默认的 python。python 2/3不兼容。很多系统级别的软件依赖于默认的python版本的。一旦修改,可能导致一些系统命令出错。

在你自己的项目里面,你可以使用完整路径选择版本。比如/usr/bin/python2.7, /usr/bin/python3.4, /opt/python3.5/bin/python之类的。 更多参考: python引入导入自定义模块和外部文件 crontab中运行python程序出错,提示ImportError: No module named解决全过程

/usr/loca/bin/python XXX.python而不是python XXX.python 或者将XXX.python修改为可执行文件,在python头部#!/usr/local/bin/python

#!/usr/bin/python3 和 #!/usr/bin/env python3 的区别

#!/usr/bin/env python3 会去环境设置寻找 python3 目录,推荐这种写法。

测试相关库是否能用

测试numpy是否安装成功

import numpy x=numpy.arange(0,5,0.1) y=numpy.sinh(x) print(x) print(y)

测试matplotlib是否安装成功

import numpy import matplotlib.pyplot as plt x=numpy.arange(0,5,0.1) y=numpy.sinh(x) plt.plot(x,y) plt.show()

import 缺省会从python目录,site-pacakges,系统目录,当前目录,等按顺序尝试找包 如何查看PYTHON的安装位置以及安装第三方库的位置

import sys sys.path

结果如下:

['', '/usr/local/python3/lib/python35.zip', '/usr/local/python3/lib/python3.5', '/usr/local/python3/lib/python3.5/plat-linux', '/usr/local/python3/lib/python3.5/lib-dynload', '/usr/local/python3/lib/python3.5/site-packages']

中文乱码问题

1、Wing IDE 中文显示方法 中文乱码解决: 找到安装目录,在 “bin\gtk-bin\etc\pango” , 打开" pango.aliases" ,将引号内的文字修改为:microsoft yahei.即可.如下:

courier = "simsun" sans = "simsun" serif = "simsun" monospace = "simsun"

simsun为宋体的一种 另一种解决方案 FILE_OBJECT= open(‘order.log’,‘r’, encoding=‘UTF-8’)

2、在python文件的开始加

# -*- coding: UTF-8 -*-

2、ubuntu里pycharm好像还没碰到中文筹码的问题

关于库的一些常见问题

ImportError: No module named _tkinter

在Linux下使用Tkinter库,出现如下问题

File "/usr/local/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module> import _tkinter # If this fails your Python may not be configured for Tk ImportError: No module named _tkinter

_tkinter是和tkinter的一个内部功能,tkinter在python3之前的版本为TKinter,python3之后的版本为tkinter。该库好像是跟图形显示有关,是matplotlib和seaborn的基础库,缺少tkinter库matplotlib和seaborn无法工作。正常来讲python是应该默认安装了该库的,但不知道是版本切换的原因,还是什么,出现上述的问题。可能是切换python版本之后配置出现错乱,找不到相应库的安装位置;或者安装新的东西破坏了原有的功能。总之,可能理解为tkinter未安装或安装不全(tkinter又要用到tcl)。 解决的办法就是重新安装 安装tkinter

sudo apt-get install python3-tk

该库好像就不能通过pip方式安装,在安装该库的过程如果出现问题,先不用管,一路安装即可。 安装tcl和tk tcl和tk的下载地址:http://www.tcl.tk/software/tcltk/download.html 下载的tcl/tk源代码包是 tcl8.6.7-src.tar.gz 和 tk8.6.7-src.tar.gz (1) 安装tcl 由于我不知道像这种库的安装位置是否有要求,所以我采用了比较保守的方法,没有直接在源代码包的下载位置直接解压缩安装。我发现在运行python文件并报错的时候有如下提示: 大概就是说_tkinter在/usr/local/lib/tcl8.6/ 下找不到×××,在/usr/local/lib/tk8.6/ 下找不到×××。 从上面就可以看到python会自动去一些目录里找对应的程序,所有我就把这些目录当成是python系统自动安装的目录。因此我将文件复制到该目录并解压缩进行安装。目的就是用自己下载的包去替换python自己的或者python没有安装里就在对应位置安装。 具体安装tcl方法如下:

sudo tar -xzvf tcl8.6.7-src.tar.gz sudo mv tcl8.6.7 tcl8.6 cd tcl8.6/unix sudo ./configure sudo make sudo make install

同样的方法安装tk:

sudo tar -xzvf tk8.6.7-src.tar.gz sudo mv tk8.6.7 tk8.6 cd tk8.6/unix sudo ./configure sudo make sudo make install

编译时如果出现以下错误信息:

/home/cryhelyxx/下载/tk8.6.1/unix/../generic/tk.h:96:25: 致命错误: X11/Xlib.h:没有那个文件或目录 编译中断。

在终端运行

sudo apt-get install libx11-dev

然后再重新make和makeinstall。 到python里试着import tkinter,没提示应该就成功了。 此时应该可以使用matplotlib和seaborn了。

导入sqlite3这个包的时候出现找不到包的错误

解决方法。

第一种:

检查自己有没有安装sqlite-devel,没有的话yum -y install sqlite-devel

然后进入到Python目录,(cd python目录)

然后命令行输入./configure,然后make和make install

这个时候可以输入python,进入python环境后,import sqlite3,看还会不会报错。

如果还会的话,请看第二种方法,我是通过第二种解决的。

第二种:

在命令行下,输入 find / -name _sqlite3.so,查看这个文件的路径,记下来

然后输入python,在python环境下,

import sys

sys.path

查看自己python包的路径都在哪,找到/lib/python3.5/lib-dynload类似于这种路径

接下来

cp /usr/lib64/python2.7/lib-dynload/_sqlite3.so /root/.virtualenvs/py3scrapy/lib/python3.5/lib-dynload/

当然这上面这两个路径是你们自己的路径,要自己看看自己的是哪个。

这个时候可以输入python,进入python环境后,import sqlite3,看还会不会报错。

“cannot import name ‘opentype’ on new installation”**

解决方法。 pip install --upgrade google-auth-oauthlib

Python程序代码隐藏和pyc包的导入

1.用pyc或pyo文件代替 2.混淆源代码 3.pyexe、PyInstaller、py2app等打包软件 4.Cython

python 查看各种库源代码

1、 懒人查看python源码方法 python怎么看package源码

import module_name with open(str(module_name.__file__),"r") as f: print (f.read())

以numpy为例 numpy.__file__会得到C:\Users\qingt\Miniconda2\envs\python35\lib\site-packages\numpy\__init__.py,从而上式得到的也就是__init__.py中的代码。 以string为例 string.__file__会得到C:\Users\qingt\Miniconda2\envs\python35\lib\string.py,从而上式得到的也就是string.py中的代码。 string.py就是package的源码,不过有些库因为是c写的,会提示错误,这样的库就需要你下载python源码,直接看c的源文件 如果查看不到,可能已经融入到解释器了(比如sys模块),或者可能是使用C语言写成的。 print(math.__file__),则提示AttributeError: module 'math' has no attribute '__file__' print(cmath.__file__),则提示AttributeError: module 'cmath' has no attribute '__file__' 2、利用pdb调试查看 python 源代码查看方法 3、利用help()查看

查看python源代码所依赖的模块

python安装包的制作

Python模块常用的几种安装方式 Python简单安装包制作 如何给自己的Python项目制作安装包 如何制作pip安装包 --python

照着上面的博客做就可以了

setup.py编译命令 % python setup.py build #编译 % python setup.py install #安装 % python setup.py sdist #制作分发包,生成类似 bee-0.0.1.tar.gz,支持 pip % python setup.py bdist_wheel #whl % python setup.py bdist_wininst #制作windows下的分发包 exe % python setup.py bdist_rpm % python setup.py bdist_egg # 生成类似 bee-0.0.1-py2.7.egg,支持 easy_install
转载请注明原文地址: https://www.6miu.com/read-1900061.html

最新回复(0)