GVKun编程网logo

运行python setup.py install(运行内存是什么意思)

12

本文将为您提供关于运行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并运行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'之间的区别

'python setup.py install'和'pip install'之间的区别

我有一个外部软件包,想从tar文件安装到python virtualenv中。安装软件包的最佳方法是什么?

我发现了两种方法可以做到这一点:

  1. 提取tar文件,然后python setup.py install在提取的目录中运行。
  2. 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

Install Superset from Python3.6

本文安装Superset大致分为以下部分:

  1. 在操作系统中安装相关依赖,我所用的操作系统为Centos6.5
  2. 安装Python3.6.6
  3. 安装Superset

详细步骤如下:

  1. 相关依赖的安装

    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

  2. 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"

  3. 安装Virtualenv(此步也可以省略)但是建议使用virtualenv 安装Superset

    pip install virtualenv //安装Virtualenv

    virtualenv venv_name //创建一个对象,默认创建在当前目录

    . ./venv_name/bin/activate // 激活对象,一旦激活,所作的一切都被限制在virtualenv中

    deactivate //退出virtualenv

  4. Superset的安装(我是在Virtualenv中安装的)

    virtualenv superset // 创建一个名为superset的Virtualenv

    . ./superset/bin/activate //激活

    pip install superset // 安装Superset,也可以使用-i参数使用国内的pip 源,速度会快一些

  5. 初始化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,然后使用刚才的用户名密码登陆。

  6. 支持的数据库

    Mysql,Oracle,hive,Spark SQL,Sqlite等。

    但是Superset不会捆绑连接到数据库,需要安装相应的软件包。

  7. 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数据的数据了

  8. 如果大家发现有什么不到位的,欢迎提问交流,共同进步。

install_requires在setup.py中,取决于安装的Python版本

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”上被忽略-没有安装数据文件?

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”上被忽略-没有安装数据文件?的相关知识,请在本站进行查询。

本文标签: