Django Rest Framework AttributeError: module 'coreapi' has no attribute 'Client' - django-rest-framework

I am trying to run tests for api that worked before. Test.py looks like following:
from django.contrib.auth.models import User
from rest_framework import status
from rest_framework.test import APITestCase
class ApiUserTest(APITestCase):
"""
python manage.py test .\apps\api\api_user
API urls:
api_user/login/
api_user/logout/
api_user/register/
api_user/change_password/
"""
def setUp(self):
...
def test_user_register(self):
...
But I'm getting the following error
PS F:\ComputerShop> python manage.py test .\apps\api\api_user
System check identified no issues (0 silenced).
E
======================================================================
ERROR: api.api_user.tests (unittest.loader._FailedTest)
----------------------------------------------------------------------
ImportError: Failed to import test module: api.api_user.tests
Traceback (most recent call last):
File "C:\Users\Emil\AppData\Local\Programs\Python\Python38\lib\unittest\loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "C:\Users\Emil\AppData\Local\Programs\Python\Python38\lib\unittest\loader.py", line 377, in _get_module_from_name
__import__(name)
File "F:\ComputerShop\apps\api\api_user\tests.py", line 3, in <module>
from rest_framework.test import APITestCase
File "F:\ComputerShop\env\lib\site-packages\rest_framework\test.py", line 123, in <module>
class CoreAPIClient(coreapi.Client):
AttributeError: module 'coreapi' has no attribute 'Client'
I also tried to run tests on a known working project, but they did not start there either.
I've tried to reinstalling the rest framework but it doesn't help. I use virtual environment in the project

To solve this problem you should install next packages:
pip install coreapi pyyaml

Related

ImportError: cannot import name Minio

I am using minio 5.0.1 with this command:
pip install minio
But I still get this error
Traceback (most recent call last):
File "minio.py", line 2, in <module>
from minio import Minio
File "/root/minio.py", line 2, in <module>
from minio import Minio
ImportError: cannot import name Minio
i guess it's to late for this answer but anyways:
since you call your python file minio.py he tries to import this file instead of the minio package and failes to find an object inside called Minio.
Rename your py file to miniotest.py and it should work.

Airflow initdb fails due to SyntaxError on importing AsyncRetrying

I am new to Airflow. I install it by pip install apache-airflow. When I run command airflow initdb in terminal then I am getting the error below. Where did I go wrong during install, and how can I fix this issue?
aamir#aamir-Inspiron-3542:~$ airflow initdb
[2019-03-30 18:32:27,309] {__init__.py:51} INFO - Using executor SequentialExecutor
DB: sqlite:////home/aamir/airflow/airflow.db
[2019-03-30 18:32:31,790] {db.py:338} INFO - Creating tables
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR [airflow.models.DagBag] Failed to import: /home/aamir/anaconda3/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py
Traceback (most recent call last):
File "/home/aamir/anaconda3/lib/python3.7/site-packages/airflow/models.py", line 374, in process_file
m = imp.load_source(mod_name, filepath)
File "/home/aamir/anaconda3/lib/python3.7/imp.py", line 171, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 696, in _load
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/aamir/anaconda3/lib/python3.7/site-packages/airflow/example_dags/example_http_operator.py", line 27, in <module>
from airflow.operators.http_operator import SimpleHttpOperator
File "/home/aamir/anaconda3/lib/python3.7/site-packages/airflow/operators/http_operator.py", line 21, in <module>
from airflow.hooks.http_hook import HttpHook
File "/home/aamir/anaconda3/lib/python3.7/site-packages/airflow/hooks/http_hook.py", line 23, in <module>
import tenacity
File "/home/aamir/anaconda3/lib/python3.7/site-packages/tenacity/__init__.py", line 352
from tenacity.async import AsyncRetrying
^
SyntaxError: invalid syntax
Done.
In Python 3.7, async is a reserved keyword, which means it cannot be used in module and variable names. This was valid in prior Python versions, but starting from 3.7, a SyntaxError is raised.
In your case, Airflow comes pre-installed with example DAGs, which were parsed when you ran airflow initdb. Some of those DAGs make use of the SimpleHttpOperator which depends on http_hook.py. That hook furthermore depends on the tenacity library, which tries to import an async module as part of initialization:
from tenacity.async import AsyncRetrying
To fix this, wait for/install Airflow v1.10.3 which updates Tenacity (see AIRFLOW-2876). Alternatively, you can downgrade your Python version. You can see that the import fails using 3.7.3:
$ docker run --rm -it python:3.7
Python 3.7.3 (default, Mar 27 2019, 23:40:30)
>>> from tenacity.async import AsyncRetrying
File "<stdin>", line 1
from tenacity.async import AsyncRetrying
^
SyntaxError: invalid syntax
But it works fine in version 3.6.8:
$ docker run --rm -it python:3.6
Python 3.6.8 (default, Feb 6 2019, 12:07:20)
>>> from tenacity.async import AsyncRetrying
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'tenacity'

ModuleNotFoundError: No module named 'elasticsearch'

I am new to Python. MAC user, I have Python 3.7 and I have installed Elasticsearch via pip3 install elasticsearch. I do not have any other file named Elasticsearch and I tried to fix the PYTHONPATH as suggested on other posts. I also tried to uninstall and re-install Elasticsearch again. Same error. When I run...
import logging
import elasticsearch
def gotoelk():
_es = None
_es = Elasticsearch([{'host':'Internal IP of my Elasticsearch', 'port': 9200}])
if _es.ping():
print('Connected')
else:
print('NOT connected')
return _es
if __name__ == '__main__':
logging.basicConfig(level=logging.ERROR)
gotoelk()
I get the following:
Traceback (most recent call last):
File "/Users/username/Desktop/MBAPI/ELK_connect_test.py", line 3, in <module>
import elasticsearch
ModuleNotFoundError: No module named 'elasticsearch'
Any ideas or suggestions?

Autobahn symmetric RPC

I am trying to use symmetric RPC in Autobahn.
from autobahn.wamp.protocol import exportPRC, WampClientFactory, WampClientProtocol
But, I got this error:
from autobahn.wamp.protocol import exportRPC, WampClientFactory, WampClientProtocol
Traceback (most recent call last):
File "", line 1, in
ImportError: cannot import name exportRPCl
I followed http://autobahn.ws/python/installation.html, but could not get it to work.
It seems from v0.9. Sample of symmetric rpc can not be found. WAMP1 also can not be found. I installed v0.10. That's why is has this problem.

Ubuntu 10.04 - Python multiprocessing - 'module' object has no attribute 'local' error

The following code is from the python 2.6 manual.
from multiprocessing import Process
import os
def info(title):
print(title)
print('module name:', 'me')
print('parent process:', os.getppid())
print('process id:', os.getpid())
def f(name):
info('function f')
print('hello', name)
if __name__ == '__main__':
info('main line')
p = Process(target=f, args=('bob',))
p.start()
p.join()
This creates the following stack traces:
Traceback (most recent call last):
File "threading.py", line 1, in <module>
from multiprocessing import Process
File "/usr/lib/python2.6/multiprocessing/__init__.py", line 64, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "/usr/lib/python2.6/multiprocessing/util.py", line 287, in <module>
class ForkAwareLocal(threading.local):
AttributeError: 'module' object has no attribute 'local'
Exception AttributeError: '_shutdown' in <module 'threading' from '/home/v0idnull/tmp/pythreads/threading.pyc'> ignored
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/usr/lib/python2.6/multiprocessing/util.py", line 258, in _exit_function
info('process shutting down')
TypeError: 'NoneType' object is not callable
Error in sys.exitfunc:
Traceback (most recent call last):
File "/usr/lib/python2.6/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/usr/lib/python2.6/multiprocessing/util.py", line 258, in _exit_function
info('process shutting down')
TypeError: 'NoneType' object is not callable
I'm completely clueless as to WHY this is happening, and google has given me very little to work with.
that code runs fine on my machine:
Ubuntu 10.10, Python 2.6.6 64-bit.
but your error is actually because you have a file named 'threading.py' that you are running this code from (see the stack-trace details). this is causing a namespace mismatch, since the multiprocessing module needs the 'real' threading module. try renaming your file to something other than 'threading.py' and running it again.
also... the example you posted is not from the Python 2.6 docs... it is from the Python 3.x docs. make sure you are reading the docs for the version that matches what you are running.

Resources