我正在学习一个让我使用virtualenv的Flask教程,并用它构建了一个如下所示的应用程序目录树:app/|__app/|__app.egg-inf/|__setup.py|__venv/在我的venv中,教程告诉我运行pipinstall-e.这似乎是在使用我的setup.py安装依赖项和我的申请。为什么教程让我运行pipinstall-e.?为什么不pythonsetup.pyinstall?有什么区别?(FWIW,exportFLASK_APP=app;flaskrun在pipinstall-e之后工作正常。但在pythonsetup.pyinstall之后不起作用)
我的setup.py中有一个条目用于安装未托管在PyPi上的包,该包必须使用setup.py进行编译,因为它是C扩展。当我运行pythonsetup.pyinstall时它没有安装,我检查了日志,我不知道为什么。dependency_links=['git+https://github.com/liamzebedee/scandir.git#egg=scandir-0.1'], 最佳答案 事实证明,除了dependency_links行,我还需要在install_requires行中添加包的名称,如下所示:dependency_li
我发送到pip的Python包中的setup.py文件:#!/usr/bin/envpythonfromdistutils.coreimportsetupsetup(#......long_description=open('README.md').read(),#....)文件README.md存在。在setup.py下断点并在本地执行时,它会很好地读取文件。但是,当我从pip(pipinstallmy_lib)安装它时,它会在安装过程中抛出找不到它的异常:File"/private/var/folders/ty/0nvksfhn29z_cjb6md2t3x8c0000gn/T/pi
我正在按照本教程尝试在Cython中编写“HelloWorld”程序http://docs.cython.org/src/tutorial/cython_tutorial.html#cython-hello-world我创建了helloworld.pyxprint("HelloWorld")和setup.py:fromdistutils.coreimportsetupfromCython.Buildimportcythonizesetup(ext_modules=cythonize("helloworld.pyx"))如何更改setup.py以指定我的源是Python3,而不是教程中的
我有一个Python包,其setup.py具有通过通常方式在install_requires=[...]中声明的依赖项。那里的一个软件包scikits.timeseries有一个setup.py期望已经安装了numpy,因此,我想通过某种方式先安装numpy。对于这种情况和一般情况,是否可以控制依赖安装的顺序?如何?目前setup.py提取依赖项的顺序(如arginstall_requires中所列)似乎实际上是随机的。此外,在setup.pysetup(...)中,我尝试使用arg:extras_require={'scikits.timeseries':['numpy']}...没
我正在尝试将所有.py文件的pylint检查添加到setuptools的test过程中(也许我正在做一些事情有误,请指正)。这就是我在setup.py中所做的:classMyTest(test):defrun_tests(self):importpytestimportpylintif(pylint.run_pylint()):sys.exit(-1)if(pytest.main(self.test_args)):sys.exit(-1)setup(tests_require=['pytest','pylint'],cmdclass={'test':MyTest},...)当我运行py
我有一个调用外部二进制文件的python模块,它是从C源代码构建的。该外部可执行文件的源代码是我的python模块的一部分,作为.tar.gz文件分发。有没有办法解压缩,然后编译该外部可执行文件,并使用setuptools/setup.py安装它?我想实现的是:将该二进制文件安装到虚拟环境中使用setup.pyinstall、setup.pybuild等管理二进制文件的编译/安装制作我的python模块的二进制部分,以便它可以在没有外部依赖的情况下作为一个轮子分发 最佳答案 最后通过修改setup.py解决为执行安装的命令添加额外的
我正在尝试设置一些Python包,这些包将共享一组通用的“实用程序”,但需要能够将它们作为单独的“包”分发。假设以下结构:/packages|-setup.py|-__init__.py|-MANIFEST.in|-com||-__init__.py||-company|||-__init__.py|||-subdir1||||-__init__.py...|-utilities||-__init__.py||-utils1.py||-utils2.py||-...|-package1||-__init__.py||-package1_1.py||-package1_2.py||-..
我正在尝试使用setup.pysdist对我的项目进行源代码分发。我已经有了可以安装的正常运行的setup.py。但是当我执行sdist时,我得到的只是my_project文件夹中的另一个my_project文件夹,一个MANIFEST文件我对包含两个文本文件的zip文件不感兴趣,而不是我的项目。我做错了什么?sdist的文档在哪里?更新:这是我的setup.py:#!/usr/bin/envpythonimportosfromdistutils.coreimportsetupimportdistutilsfromgeneral_miscimportpackage_findertry:
我正在尝试创建一个通用的python脚本来启动python应用程序,如果目标系统中缺少任何相关的python模块,我想安装它们。如何从Python本身运行与命令行命令“pythonsetup.pyinstall”等效的命令?我觉得这应该很容易,但我想不通。 最佳答案 对于那些使用设置工具的人,您可以使用setuptools.sandbox:fromsetuptoolsimportsandboxsandbox.run_setup('setup.py',['clean','bdist_wheel'])