我尝试运行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。
我对毒物怎么办?
答案 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。