可安装wingide, 或者pycharm 。以wingide为例,至官网下载最对应版本,里面已经集成了python内核和对应的开发调试界面,如python-2.5.2+wingide-101-3.2.13-1。先装python后装wingide,采用默认设置,wingide装在python的安装目录内,则能成功。 但是python只具备基本的功能包,像numpy,matplotlib这些还需要自己安装。也可以安装anaconda,该软件已经预装了一个科学统计和机器学习的相关库,操作会更简单一点。
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的使用和设置,可参考该博文,里面有详细的介绍。
到相应功能包的官网(直接网上搜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
一种方法是直接在命令终端运行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 –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.tgz4、切换到源码包
cd Python-3.5.25、配置指定python的安装目录
./configure --prefix=/usr/local/python3如果执行 ./configure 时,如果报错:
configure: error: no acceptable C compiler found in $PATH说明没有安装合适的编译器。这时,需要安装/升级 gcc 及其它依赖包。
yum install make gcc gcc-c++完成之后,重新执行:
./configure6、编译和安装python 配置完成之后,就可以编译了:
make漫长的等待……完成后,安装:
make install7、备份原有的老版本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
linux devel包 和 非devel包的区别 关于rpm的后缀devel的含义 RPM repository on fr2.rpmfind.net
整个考虑是这样(还没试): 先通过脚本安装像gcc 、bzip2等系统需要的软件(可先下载好这些包); 然后通过脚本安装conda(先下载好安装包) 再通过conda 在虚拟环境中安装离线下载好的python压缩文件(这一步似乎不行) 最后在conda创建的虚拟环境中安装相应的python库 关于通过脚本自动安装软件可参考:python自动化脚本安装指定版本python环境详解
可在一台连网的电脑上安装好自己需要的python版本,及可能要用到的python库(这一步不防装全一点),然后将安装目录直接打包,发送到需要安装python的机器。直接解压缩即可,一般此时进入到解压后的bin目录,运行相应的python,就可以启动python,表明python是可用的,如果提示缺少gcc之类的依赖,自己下载即可。
这里没有修改/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好像还没碰到中文筹码的问题
在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了。
解决方法。
第一种:
检查自己有没有安装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,看还会不会报错。
解决方法。 pip install --upgrade google-auth-oauthlib
1.用pyc或pyo文件代替 2.混淆源代码 3.pyexe、PyInstaller、py2app等打包软件 4.Cython
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项目制作安装包 如何制作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