是否可以在安装程序生成期间(或实际安装期间)指定Python模块的自定义路径?举例来说,假设我有5个模块,我使用以下方法为其生成安装程序:c:\>pythonsetup.pybdist一切都正确打包,但是当我安装时,我被迫安装到站点包中。我需要能够指定我的(或安装程序选择的)自定义目录。至少,我需要能够覆盖默认路径,以便我的自定义路径显示为默认路径。使用内置发行版这可能吗? 最佳答案 您应该编写setup.cfg,您可以在其中指定安装选项(请参阅pythonsetup.pyinstall--help输出),然后运行pythons
一些有用的Python包在pypi上被破坏了,唯一可接受的版本是版本控制系统中的特定版本。可以在setup.py中表达吗?例如requires='svn://example.org/useful.package/trunk@1234'? 最佳答案 你需要做两件事。首先,需要您想要的确切版本,例如:install_requires="useful.package==1.9dev-r1234"然后包含一个dependency_links设置指定在哪里找到它:dependency_links=["svn://example.org/use
如何让pythonsetup.pytest工作?-当前输出:$pythonsetup.pytest#alsotried:`pythonsetup.pytests`/usr/lib/python2.7/distutils/dist.py:267:\UserWarning:Unknowndistributionoption:'test_suite'warnings.warn(msg)usage:setup.py[global_opts]cmd1[cmd1_opts][cmd2[cmd2_opts]...]or:setup.py--help[cmd1cmd2...]or:setup.py--
我正在使用众所周知的第三方打包系统打包一些python包,但我遇到了入口点创建方式的问题。当我在我的机器上安装入口点时,入口点将包含一个指向任何python解释器的shebang,如下所示:在/home/me/development/test/setup.pyfromsetuptoolsimportsetupsetup(entry_points={"console_scripts":['some-entry-point=test:main',]})在/home/me/.virtualenvs/test/bin/some-entry-point:#!/home/me/.virtualen
我正在尝试使用distutils构建Python发行版。不幸的是,我的目录结构如下所示:/code/mypackage__init__.pyfile1.pyfile2.py/subpackage__init__.py/buildsetup.pyHere'smysetup.pyfile:fromdistutils.coreimportsetupsetup(name='MyPackage',description='Thisismypackage',packages=['mypackage','mypackage.subpackage'],package_dir={'mypackage':
如果我使用distutils.core构建了一个python包,例如通过setup(ext_package="foo",author="me",version="1.0",description="foopackage",packages=["foo",],)所有元数据都去了哪里(它的用途是什么?)以及我如何从python中访问它。具体来说,在执行类似的操作后,如何从python控制台访问作者信息>>>importfoo 最佳答案 随着python3.8的发布,您可能希望使用新的importlib.metadata[1]模块,用于解
我在ARM的BuildrootLinux发行版(Python2.7.2)下交叉编译netifaces扩展时遇到问题。根据这个博客http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/我已经定义了CC、LDSHARE等环境变量,但是distutils/setuptools没有考虑CC,所以所有测试都会失败:runningbuildSettingprefixSettingprefixrunningbuild_extcheckingforgetifaddrs...notfound.(cache
如何将Python模块与预编译的.so库打包在一起?具体来说,我该如何编写setup.py以便在Python中执行此操作>>>importtop_secret_wrapper不用设置LD_LIBRARY_PATH就能轻松找到top_secret.so?在我的模块开发环境中,我有以下文件结构:.├──top_secret_wrapper│ ├──top_secret.so│ └──__init__.py└──setup.py在__init__.py中,我有类似的东西:importtop_secret这是我的setup.pyfromsetuptoolsimportsetup,Exten
我正在努力将一个小型Python项目打包为zip或egg文件,以便进行分发。我遇到了2种方法来包含项目的配置文件,这两种方法似乎都产生相同的结果。方法一:将此代码包含在setup.py中:fromdistutils.coreimportsetupsetup(name='ProjectName',version='1.0',packages=['somePackage'],data_files=[('config',['config\propFiles1.ini','config\propFiles2.ini','config\propFiles3.ini'])])方法二:将此代码包含在
我写了一个库,它的主要功能是用C语言实现的(速度很关键),它周围有一个薄薄的Python层来处理ctypes问题。我要打包它,我想知道如何才能最好地解决这个问题。它必须与之交互的代码是一个共享库。我有一个构建C代码并创建.so文件的Makefile,但我不知道如何通过distutils编译它。我是否应该通过覆盖install命令来调用make和subprocess(如果是这样,是install的地方为此,还是build更合适?)更新:我想指出,这不是Python扩展。也就是说,C库本身不包含与Python运行时交互的代码。Python正在对直接的C共享库进行外部函数调用。