Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何说服setuptools为setup\u require或tests\u require中的requires包使用临时目录?_Python_Setuptools_Distutils_Setup.py - Fatal编程技术网

Python 我如何说服setuptools为setup\u require或tests\u require中的requires包使用临时目录?

Python 我如何说服setuptools为setup\u require或tests\u require中的requires包使用临时目录?,python,setuptools,distutils,setup.py,Python,Setuptools,Distutils,Setup.py,在setup.py中,我有如下内容: setup_requires=['nose>=1.0'], tests_require=[], 问题是,当我运行/setup.py test时,它会在setup.py目录下下载并解压缩这些模块 我怎样才能说服它为此使用一个临时目录,我不想用这些来破坏源代码管理系统,我也不想开始添加大量的排除模式。如果问题是您项目的源代码树,您可能应该编写一个脚本来删除所有的“dist”和“build”安装测试结束时由distutils创建的目录。 下载的包通常是源代

setup.py
中,我有如下内容:

setup_requires=['nose>=1.0'],
tests_require=[],
问题是,当我运行
/setup.py test
时,它会在
setup.py
目录下下载并解压缩这些模块


我怎样才能说服它为此使用一个临时目录,我不想用这些来破坏源代码管理系统,我也不想开始添加大量的排除模式。

如果问题是您项目的源代码树,您可能应该编写一个脚本来删除所有的“dist”和“build”安装测试结束时由distutils创建的目录。 下载的包通常是源代码树中的*.egg文件夹

您没有污染您的配送

从setuptools文档:

安装\u需要的将不会自动安装在 正在运行安装脚本。它们只需下载到安装程序中即可 目录,如果它们在本地不可用。如果你想要的话 要安装,以及在安装脚本运行时可用 运行时,您应该将它们添加到install_requires和setup_requires。)

如果项目的测试需要一个或多个附加测试,则需要测试 除了安装所需的软件包之外,您还可以使用此选项 来指定它们。它应该是一个字符串或字符串列表,用于指定 包的测试需要提供哪些其他发行版 跑运行test命令时,setuptools将尝试获取 这些(甚至可以使用EasyInstall下载)。注 这些必需的项目将不会安装在 测试将运行,但仅下载到项目的设置中 目录(如果尚未在本地安装)

如果您已经安装了某些软件包,并且需要将其删除, 只需在python发行版的子文件夹“site packages”中找到您的包 然后删除它。最后删除easy-install.pth文件中的包引用
通常位于相同的“站点包”目录中。

从setuptools 7.0开始,为
设置所需的
测试所需的
加载的临时依赖项以及类似的依赖项都安装到了。/.egs中。我强烈建议将其添加到您的全球忽略列表中。

谢谢。我仍然希望在运行存储库根目录下的
setup.py
时不要污染我的工作副本。所以我正在寻找说服setuptools在其他地方创建这些文件的方法。我想你应该写剧本!