毒素找不到numpy

时间:2020-05-01 06:51:43

标签: python numpy tox

我尝试运行tox以自动测试我的项目。我的tox文件非常简单:

[tox]
envlist = py3

[testenv]
deps = pytest
commands =
    pytest --doctest-modules

我还有一个require.txt文件,用于定义所需的模块:

cmake
osqp
numpy
cvxpy
networkx
matplotlib

和setup.py文件:

from setuptools import setup, find_packages
... 
requirements = ["numpy","cvxpy","networkx","matplotlib"]
... 
setup(
    name='fairpy', 
    version='1.0', 
    description=...,
    packages=find_packages(),
    install_requires=requirements, 
    ...
)

但是当我从终端运行tox时,出现一条错误消息,提示未找到numpy模块:

GLOB sdist-make: /mnt/d/Dropbox/ariel/fairpy/setup.py
py3 inst-nodeps: /mnt/d/Dropbox/ariel/fairpy/.tox/.tmp/package/1/fairpy-1.0.zip
py3 installed: attrs==19.3.0,fairpy==1.0,more-itertools==8.1.0,packaging==20.1,pluggy==0.13.1,py==1.8.1,pyparsing==2.4.6,pytest==5.3.4,six==1.14.0,wcwidth==0.1.8
py3 run-test-pre: PYTHONHASHSEED='188600482'
py3 run-test: commands[0] | pytest --doctest-modules
========================================================== test session starts ==========================================================
platform linux -- Python 3.8.1, pytest-5.3.4, py-1.8.1, pluggy-0.13.1
cachedir: .tox/py3/.pytest_cache
rootdir: /mnt/d/Dropbox/ariel/fairpy
collected 0 items / 20 errors                                                                                                           

================================================================ ERRORS =================================================================
__________________________________________________ ERROR collecting Deng_Qi_Saberi.py ___________________________________________________
Deng_Qi_Saberi.py:13: in <module>
    from agents import *
agents.py:10: in <module>
    import numpy as np
E   ModuleNotFoundError: No module named 'numpy'
...

我已经安装了numpy-在我的python 3.8.1终端中,我可以毫无问题地导入numpy。

我对毒物怎么办?

1 个答案:

答案 0 :(得分:1)

首先

我已经安装了numpy-在我的python 3.8.1终端中,我可以毫无问题地导入numpy。

tox在运行时会创建一个虚拟环境,因此与计算机原始解释器上安装的numpy无关。

第二, 如果要tox安装需求文件,则必须添加 deps = -rrequirements.txt到tox.ini。 而且您也可以随时手动将numpy添加为依赖项。

第三, 在某些情况下,tox具有某些依赖项跟踪问题。尝试运行tox -r强制tox重新创建其环境,并确保setup.py的“ install_requires”部分中提到的numpy。