我经常使用cx_freeze将我的python源与所有依赖项打包,然后通过distutils创建一个msi安装包bdist_msi扩展名唯一的问题发生在我尝试重新安装新创建的msiWindows安装程序而不卸载以前的版本时。卸载程序会记录所有以前卸载的软件版本,并删除注册表和卸载程序信息。是否可以检测以前安装的软件版本并在不安装新版本的情况下自动将其卸载?我知道NSIS,以及如何使用它的python绑定(bind)来创建安装程序,我提到的上述问题可以通过它轻松解决。不幸的是,此时此刻,除了Python提供的功能(即distutils),我没有寻找任何东西。
无论我尝试安装哪个包,我都会收到此错误:error:invalidcommand'egg_info'----------------------------------------Cleaningup...Commandpythonsetup.pyegg_infofailedwitherrorcode1inc:\users\zorpix\appdata\local\temp\pip-build-Zorpix\virtualenvStoringcompleteloginC:\Users\Zorpix\pip\pip.log我看到了thisquestion,但答案对我不起作用。我可以安装d
我们在Ubuntu/Macs上开发,部署RPMs到CentOS(这是设置,不能改太多)。问题是,当从rpm安装时,包会转到/usr/local/lib/python2.7/dist-packages(这是Ubuntu的正确位置)。然而,CentOS中的默认python路径正在查看/usr/local/lib/python2.7/site-packages。有没有办法告诉bdist_rpm将文件安装到哪里? 最佳答案 您可以使用setup.cfg文件来覆盖Python库安装路径:setup.cfg:[install]install-l
我的项目需要的所有鸡蛋都预先下载在一个目录中,我希望安装工具仅从该目录安装包。在我的setup.cfg中我有:[easy_install]allow_hosts=Nonefind_links=../../setup我运行pythonsetup.pydevelop,它找到并正确安装了所有包。为了测试,我有一个额外的要求,在setup.py中指定。tests_require=["pinocchio==0.2"],这个蛋也驻留在本地../../setup目录中。我运行pythonsetup.pytest,它看到依赖关系并在../../setup中找到egg就好了。但是,egg会安装到我的cu
我正在使用安装工具的bdist_wininst为我的项目构建一个安装EXE。但是,我发现当我在装有Python2.7.3的Win7-64位机器上实际运行上述安装程序时,我得到一个如下所示的运行时错误:http://i.imgur.com/8osT3.jpg.(只有针对python-2.764位的64位安装程序;32位安装程序(在python2.732位上)看起来不错)我可以单击“确定”,安装程序完成,但这对最终用户来说肯定看起来很差。有什么解决办法吗? 最佳答案 也许您必须专门为x64创建可执行文件?这是您必须运行的命令:pytho
我使用的是Centos7和Python2.7.5。问题是当我安装Pandas时,我收到了这条错误消息SystemError:Cannotcompile'Python.h'.Perhapsyouneedtoinstallpython-dev|python-devel.----------------------------------------Command"pythonsetup.pyegg_info"failedwitherrorcode1in/tmp/pip-build-21ft0H/pandas我已经尝试了很多解决方案,但即使yum-yupdate也没有成功。Can'tinst
每次我尝试部署到Heroku时,我都会收到一个类似于这个问题(Pythonpipinstallfails:invalidcommandegg_info)的错误,我该如何解决这个问题?它刚开始是一件烦人的事情,会在第二次插入时消失,但现在我根本无法插入。我的requirements.txt文件。注意:我已经尝试过将“setuptools”放入并保留它,但它并没有改变任何东西。Django==1.5.5dj-database-url==0.2.1psycopg2==2.4.6wsgiref==0.1.2South==0.8.1pytz==2013bgunicorn==0.17.4djang
我们是一家python店。我们内部开发了不同的python包,并将部署到客户的环境(机器)上。我们的开发和发布周期就是这样发生的。一旦开发人员完成了包的“测试”,包的分发(egg文件)就会准备好并推送到中央存档位置。当我们想要将我们的软件部署给客户时,将下载相同的分发版(egg文件)并将其安装在他们的环境中。假设“测试”发生在多个操作系统上(以检查API的跨平台兼容性),准备分发并推送到中央存档位置的最佳实践是什么。是否最好在存档服务器上有特定于操作系统的鸡蛋(如samplepkg-1.0.0.win32.egg和samplepkg-1.0.0.linux.egg?不确定如何使用这种方
我是Python的新手。我已经下载了PyramidFramework并一直在努力理解它。它使用许多独立的工具来工作。例如一些PasteDeploy。我试着阅读PasteDeploy'smanual但什么也听不懂。几乎没有有值(value)的例子和解释。只是语法。我所了解的是它到处都使用.egg格式。它基于.egg格式:[composite:main]use=egg:Paste#urlmap[app:home]use=egg:Paste#static[app:blogapp]use=egg:BlogApp同时我发现.egg格式将在Python的包的future被抛弃。这是thesourc
我有一个在Linux上使用C扩展编译的项目,但没有他们在Windows上。当我第一次在Windows上使用pythonsetup.pybdist_wheel生成wheel文件时,它们变得通用,我无法将它们上传到PyPI,因为这些通用wheel是pip的首选安装用通过.tar.gz上传(来自pythonsetup.pysdist的结果)。解决这个问题的技巧是在setup.py中指定:Distribution.is_pure=lambda*args:False或通过继承Distribution:classBinaryDistribution(Distribution):defis_pure