GVKun编程网logo

如何在Python setup.py脚本中将标志传递给gcc?(如何给python脚本传参)

11

在本文中,我们将为您详细介绍如何在Pythonsetup.py脚本中将标志传递给gcc?的相关知识,并且为您解答关于如何给python脚本传参的疑问,此外,我们还会提供一些关于anaconda–如何在

在本文中,我们将为您详细介绍如何在Python setup.py脚本中将标志传递给gcc?的相关知识,并且为您解答关于如何给python脚本传参的疑问,此外,我们还会提供一些关于anaconda – 如何在IPython jupyter笔记本中传递命令行参数、python – 构建时选择GCC版本(setup.py)、在Eclipse(Pydev)中将命令行参数传递给Python脚本、在pypi python setup.py中指定可选依赖项的有用信息。

本文目录一览:

如何在Python setup.py脚本中将标志传递给gcc?(如何给python脚本传参)

如何在Python setup.py脚本中将标志传递给gcc?(如何给python脚本传参)

我正在用C语言编写一个Python扩展,它需要CoreFoundation框架(除其他外)。可以使用以下命令进行编译:

gcc -o foo foo.c -framework CoreFoundation -framework Python

(“ -framework”是仅适用于Apple的gcc扩展,但这没关系,因为无论如何我都在使用它们的特定框架)

我如何告诉setup.py将此标志传递给gcc?

我尝试了这个,但是它似乎不起作用(它可以编译,但是当我尝试运行它时会抱怨未定义的符号):

from distutils.core import setup, Extensionsetup(name=''foo'',      version=''1.0'',      author=''Me'',      ext_modules=[Extension(''foo'',                             [''foo.c''],                             extra_compile_args=[''-framework CoreFoundation''])])

编辑:

这似乎起作用:

from distutils.core import setup, Extensionsetup(name=''foo'',      version=''1.0'',      author=''Me'',      ext_modules=[Extension(''foo'',                             [''foo.c''],                             extra_link_args=[''-framework'', ''CoreFoundation''])])

答案1

小编典典

也许您也需要设置extra_link_argsextra_compile_args在编译源代码,extra_link_args链接结果时使用。

anaconda – 如何在IPython jupyter笔记本中传递命令行参数

anaconda – 如何在IPython jupyter笔记本中传递命令行参数

我是I python的新手.目前我已经使用Anaconda安装了Ipython并使用jupyter notebook UI编写代码来绘制图表.
我希望在argparse模块的帮助下将几个参数传递给我的工作脚本.
下面是代码..

import argparse

parser = argparse.ArgumentParser(description = ''Process display arguments'')
parser.add_argument(''-t'',"--test_name",help="Mandatory test name directory path",type=str)
parser.add_argument(''-s'',"--symbolSet",nargs = ''?'',help="Optional symbolset",const = ''baz'',default = ''deafultOne'')
args = parser.parse_args()
if args.test_name is None:
        print("test_name argument is mandatory.. Use option -h for help.. Exiting..")
        sys.exit(1)

现在,如何通过UI执行我的脚本时传递这些参数,还是可以通过命令提示符运行我的脚本并仍能绘制图表?
我正在使用Windows机器.如果您需要更多信息,请告诉我.就此而言.

解决方法

您可以在jupyter中使用带有类语法的argparse参数.

class Args:
  test_name = ''''
  symbolSet = ''defaultOne''

args=Args()

还有一个自动转换脚本.
http://35.192.144.192:8000/arg2cls.html

python – 构建时选择GCC版本(setup.py)

python – 构建时选择GCC版本(setup.py)

我正在尝试使用构建一个python模块(scikit.timeseries)

python setup.py build

但是这样的错误:

/Versions/2.6/lib/python2.6/site-packages/numpy/core/include -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c'
gcc-4.0: scikits/timeseries/src/cseries.c
sh: gcc-4.0: command not found

这是因为我在OSX Lion上并且gcc-4.0没有退出,gcc确实如此:

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.0

但它是别名的gcc而不是gcc-4.0.如何告诉setup.py查找gcc而不是gcc-4.0?

谢谢 !

最佳答案
尝试

export CC=/usr/bin/gcc
python setup.py build

在Eclipse(Pydev)中将命令行参数传递给Python脚本

在Eclipse(Pydev)中将命令行参数传递给Python脚本

我是Python和Eclipse的新手,在理解如何将命令行参数传递给在Eclipse(Pydev)中运行的脚本时遇到一些困难。

以下链接说明了如何将命令行参数传递给python脚本。

要将命令行参数传递给模块argecho.py(来自上面链接的代码),

#argecho.pyimport sysfor arg in sys.argv: 1    print arg

我需要输入python控制台

[you@localhost py]$ python argecho.py             argecho.py

要么

[you@localhost py]$ python argecho.py abc def     argecho.pyabcdef

如何在Eclipse(Pydev)中将相同的参数传递给Python脚本?

谢谢 !

答案1

小编典典

如果您希望程序以交互方式询问参数,则它们不再是 命令行
参数。但是,您可以执行以下操作(仅用于调试!),这将允许您以交互方式输入程序将其视为命令行参数的值。

import syssys.argv = raw_input(''Enter command line arguments: '').split()#Rest of the program here

请注意,安德鲁的处事方式 好得多。另外,如果您使用的是python 3. *,则应使用input而不是raw_input

在pypi python setup.py中指定可选依赖项

在pypi python setup.py中指定可选依赖项

如何在python中指定可选依赖项setup.py

这是为我的开放源代码库指定可选依赖项的努力,但似乎没有太大作用。

https://github.com/od-eon/django-
cherrypy/blob/master/setup.py

特别是extra_requires在此代码段中:

setup(    name=''django-cherrypy'',    version=''0.1'',    packages=packages,    license=''LICENSE'',    description=''cherrypy, running under django'',    long_description=open(''README.md'').read(),    author=''Calvin Cheng'',    author_email=''calvin@calvinx.com'',    install_requires=[''cherrypy-wsgiserver''],    extra_requires=[''newrelic''],    url=''https://github.com/od-eon/django-cherrypy'',)

有什么建议吗?

答案1

小编典典

您输入的关键字不正确。是extras_require

setup(    name="django-cherrypy",    ...    extras_require = {        ''mysterious_feature_x'':  ["newrelic"]    })

关于如何在Python setup.py脚本中将标志传递给gcc?如何给python脚本传参的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于anaconda – 如何在IPython jupyter笔记本中传递命令行参数、python – 构建时选择GCC版本(setup.py)、在Eclipse(Pydev)中将命令行参数传递给Python脚本、在pypi python setup.py中指定可选依赖项等相关内容,可以在本站寻找。

本文标签: