本文将为您提供关于运行pythonsetup.pyinstall的详细介绍,我们还将为您解释运行内存是什么意思的相关知识,同时,我们还将为您提供关于'pythonsetup.pyinstall'和'p
本文将为您提供关于运行python setup.py install的详细介绍,我们还将为您解释运行内存是什么意思的相关知识,同时,我们还将为您提供关于'python setup.py install'和'pip install'之间的区别、Install Superset from Python3.6、install_requires在setup.py中,取决于安装的Python版本、MANIFEST.in在“ python setup.py install”上被忽略-没有安装数据文件?的实用信息。
本文目录一览:- 运行python setup.py install(运行内存是什么意思)
- 'python setup.py install'和'pip install'之间的区别
- Install Superset from Python3.6
- install_requires在setup.py中,取决于安装的Python版本
- MANIFEST.in在“ python setup.py install”上被忽略-没有安装数据文件?
运行python setup.py install(运行内存是什么意思)
我下载了pip并运行python setup.py install,一切正常。本教程的下一步是运行,pip install <lib you want>
但是甚至在尝试在线查找任何内容之前,我都会收到错误消息“ bash:pip:not found”。
这是在Mac OS X上,这也是我的新手,因此我假设有些路径设置在我运行setup.py时未正确设置。我该如何进一步调查?我需要检查什么才能更好地了解问题的确切原因?
编辑:我还尝试过为Mac安装Python 2.7,希望友好的安装过程能够完成所有工作,例如编辑PATH,以及根据教程使一切正常工作所需的其他一切,但这是行不通的。在安装运行后,“ python”仍运行python 2.6,并且PATH未更新。
答案1
小编典典2020更新:
对于当前的Debian / Ubuntu,请使用
apt-get install python3-pip
安装pip3。
旧版2013年答案(现已弃用easy_install):
对于Python 3,请使用apt-get install python3-pip。
'python setup.py install'和'pip install'之间的区别
我有一个外部软件包,想从tar文件安装到python virtualenv中。安装软件包的最佳方法是什么?
我发现了两种方法可以做到这一点:
- 提取tar文件,然后
python setup.py install
在提取的目录中运行。 pip install packagename.tar.gz
来自https://pip.pypa.io/en/stable/reference/pip_install/#examples中的示例7
这两种方式在做上是否有区别。
答案1
小编典典从表面上看,都做同样的事情:无论是做python setup.py install
还是pip install <PACKAGE-NAME>
会安装Python包的你,有大惊小怪的最低金额。
但是,使用pip具有一些其他优点,使其更易于使用。
- pip将自动为您下载软件包的所有依赖项。相反,如果使用
setup.py
,则通常必须手动搜索并下载依赖项,这很乏味并且可能令人沮丧。 - pip跟踪各种元数据,使您可以通过一个命令轻松卸载和更新软件包:
pip uninstall <PACKAGE-NAME>
和pip install --upgrade <PACKAGE-NAME>
。相反,如果您使用来安装软件包setup.py
,则要想摆脱它,必须手动手动删除和维护该软件包,这可能容易出错。 - 您不再需要手动下载文件。如果使用
setup.py
,则必须访问图书馆的网站,弄清楚从哪里下载,提取文件,运行setup.py
…相比之下,pip会自动搜索Python软件包索引(PyPi)来查看该软件包是否存在,以及会自动为您下载,解压缩并安装该软件包。除了少数例外,几乎每个真正有用的Python库都可以在PyPi上找到。 - pip可让您轻松安装轮子,这是Python发行版的新标准。有关轮子的更多信息。
- pip提供了与using良好集成的其他好处
virtualenv
,该程序使您可以运行需要在计算机上使用冲突的库和Python版本的多个项目。更多信息。 - pip默认情况下与Python 2.x系列的Python 2.7.9及Python 3.x系列的Python 3.4.0及更高版本捆绑在一起,从而更加易于使用。
所以基本上,使用点子。它仅提供对的改进python setup.py install
。
如果您使用的是旧版本的Python,无法升级并且未安装pip,则可以在以下链接中找到有关安装pip的更多信息:
- 有关为所有操作系统安装pip的官方说明
- 在Windows上安装pip的说明(包括常见问题的解决方案)
- 有关为Mac OX安装pip的说明
pip本身并不需要教程。90%的时间,您真正需要的唯一命令是pip install <PACKAGE-NAME>
。就是说,如果您想了解更多有关pip的确切功能的详细信息,请参阅:
- 快速入门指南
- 官方文件。
通常也建议同时使用pip和virtualenv。如果您是Python的初学者,我个人认为最好只使用pip并在全球范围内安装软件包,但最终我还是认为您应该在处理更严肃的项目时过渡到使用virtualenv。
如果您想了解有关一起使用pip和virtualenv的更多信息,请参见:
- 为什么要使用pip和virtualenv
- Python初学者对Pip和Virtualenv的非魔术性介绍
- 虚拟环境
Install Superset from Python3.6
本文安装Superset大致分为以下部分:
- 在操作系统中安装相关依赖,我所用的操作系统为Centos6.5
- 安装Python3.6.6
- 安装Superset
详细步骤如下:
-
相关依赖的安装
yum install sqlite* //我第一次安装的时候没有安装此依赖,最后在Superset初始化过程中有报错信息,提示缺少_sqlite3 这个包
yum upgrade python-setuptools //这是对该依赖的升级,如果原来操作系统中无此依赖,需要先install
yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel
-
Python3.6.6的安装
首先根据自己的操作系统,在官网下(https://www.python.org/)载相关安装包或源代码,我用的是源代码安装
tar zxvf Python-3.6.6.tgz //解压安装包
cd Python-3.6.6 //进入解压后的目录
./configure --prefix=/usr/local/python3/ --enable-optimizations //其中"/user/local/python3/"是我的Python要安装的位置,之后是一个优化参数(起到优化python的作用,能提高Python的执行速度,也可以不要)
make && and make install //编译和安装Python
python安装完之后,现在操作系统里面有两个版本的Python(Python2.x和Python3.6.6),此时默认还是使用系统自带的版本,我们可以通过修改软连接来实现默认使用Python3.6.6
rm -rf /usr/bin/python //删除原来的软连接文件
ln -s /usr/local/python3/bin/python3 /usr/bin/python //修改软连接
python -V //核对python版本
同理创建Python下Pip的软连接
需要注意的是,系统本身有的软只支持python2,我们需要对其相关文件进行更改,比如yum
ll /usr/bin/python*
lrwxrwxrwx 1 root root 30 Sep 17 17:39 /usr/bin/python -> /usr/local/python3/bin/python3
lrwxrwxrwx 1 root root 18 Sep 17 12:54 /usr/bin/python2 -> /usr/bin/python2.6 //此处表示python2 命令进入的是python2.6环境
-rwxr-xr-x 1 root root 9032 Aug 18 2016 /usr/bin/python2.6
-rwxr-xr-x 1 root root 1418 Aug 18 2016 /usr/bin/python2.6-config
lrwxrwxrwx 1 root root 6 Sep 17 11:56 /usr/bin/python3 -> python
lrwxrwxrwx 1 root root 16 Sep 17 11:56 /usr/bin/python-config -> python2.6-config
Vi /usr/bin/yum //把第一行内容改为 "/usr/bin/python2"
-
安装Virtualenv(此步也可以省略)但是建议使用virtualenv 安装Superset
pip install virtualenv //安装Virtualenv
virtualenv venv_name //创建一个对象,默认创建在当前目录
. ./venv_name/bin/activate // 激活对象,一旦激活,所作的一切都被限制在virtualenv中
deactivate //退出virtualenv
-
Superset的安装(我是在Virtualenv中安装的)
virtualenv superset // 创建一个名为superset的Virtualenv
. ./superset/bin/activate //激活
pip install superset // 安装Superset,也可以使用-i参数使用国内的pip 源,速度会快一些
-
初始化Superset
fabmanager create-admin --app superset //创建一个superset对象并设置其管理员账户密码
superset load_examples //为名为superset的Superset对象创建一些数据例子
superset runserver // 使用默认参数启动superset
gunicorn -w 2 --timeout 120 -b 0.0.0.0:8088 --limit-request-line 0 --limit-request-field_size 0 superset:app //我在使用superset时系统建议使用这种方法启动superset,gunicorn 具体使用方法见官方文档:http://docs.gunicorn.org/en/stable/settings.html
现在你就可以使用浏览器打开supersetIP:8088,然后使用刚才的用户名密码登陆。
-
支持的数据库
Mysql,Oracle,hive,Spark SQL,Sqlite等。
但是Superset不会捆绑连接到数据库,需要安装相应的软件包。
-
Oracle数据库的连接
Superset 连接Oracle数据库需要在服务端安装Oracle客户端(安装过程省略)
需要注意的时要先安装libaio依赖(yum install libaio)
在/etc/ld.so.conf.d/ 目录下创建oracle.conf
echo "$ORACLE_HOME/client64/lib/" > /etc/ld.so.conf.d/oracle.conf
export LD_LIBRARY_PATH= /usr/lib/oracle/11.2/client64/lib$ LD_LIBRARY_PATH //配置动态库环境变量
pip install cx_Oracle //安装插件
然后就可以通过superset访问Oracle数据的数据了
- 如果大家发现有什么不到位的,欢迎提问交流,共同进步。
install_requires在setup.py中,取决于安装的Python版本
我的setup.py看起来像这样:
from distutils.core import setup
setup(
[...]
install_requires=['gevent','ssl','configobj','simplejson','mechanize'],[...]
)
在Python 2.6(或更高版本)下,ssl模块的安装由于以下原因而失败:
ValueError: This extension should not be used with Python 2.6 or later (already built in),and has not been tested with Python 2.3.4 or earlier.
有没有一种标准的方法来定义仅针对特定python版本的依赖关系?我当然可以做到,if float(sys.version[:3]) <2.6:
但也许有更好的方法可以做到。
MANIFEST.in在“ python setup.py install”上被忽略-没有安装数据文件?
这是我精简后的setup.py脚本,其中删除了非代码内容:
#!/usr/bin/env python
from distutils.core import setup
from whyteboard.misc import meta
setup(
name = 'Whyteboard',version = meta.version,packages = ['whyteboard','whyteboard.gui','whyteboard.lib','whyteboard.lib.pubsub','whyteboard.lib.pubsub.core','whyteboard.lib.pubsub.utils','whyteboard.misc'],py_modules = ['whyteboard'],scripts = ['whyteboard.py'],)
MANIFEST.in:
include *.txt
include whyteboard-help/*.*
recursive-include locale *.mo
recursive-include images *.png
当我运行“ python setup.py install sdist”时,我得到一个带有“
whyteboard-0.41”根文件夹的不错的.tar.gz,其中包含我的语言环境/ images /和whyteboard-help
/文件夹。这也有我的whyteboard.py脚本,可以从Whyteboard源代码包中启动我的程序。
所以:
whyteboard/
├── locale/
├── images
├── whyteboard-help/
├── whyteboard/
│ ├── __init__.py
│ └── other packages etc
├── whyteboard.py
├── README
├── setup.py
└── CHANGELOG
这反映了我程序的源代码,即所有内容应该是正确的。
但是,当我运行“ python setup.py install”时,没有写入任何数据文件-仅包含“
whyteboard”源程序包,而whyteboard.py放在/usr/local/lib/python2.6/dist-packages/中。
理想情况下,我希望使用与在dist-packages中创建的.tar.gz文件中生成的目录结构相同的目录结构,因为这是我的程序希望查找其资源的方式。
如何获得“安装”以创建此目录结构?据我所知,它似乎无视我的清单文件。
今天的关于运行python setup.py install和运行内存是什么意思的分享已经结束,谢谢您的关注,如果想了解更多关于'python setup.py install'和'pip install'之间的区别、Install Superset from Python3.6、install_requires在setup.py中,取决于安装的Python版本、MANIFEST.in在“ python setup.py install”上被忽略-没有安装数据文件?的相关知识,请在本站进行查询。
本文标签: