Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AttributeError: 'Faker' object has no attribute 'generate' #1

Open
CharlesB2 opened this issue Feb 2, 2022 · 1 comment
Open

AttributeError: 'Faker' object has no attribute 'generate' #1

CharlesB2 opened this issue Feb 2, 2022 · 1 comment

Comments

@CharlesB2
Copy link

Hi,

Being on Mac M1 I unpinned all requirements versions because some packages weren't able to build on this architecture.
Everything runs fine then, until testing, for which I get the following error:

―――――――――――――――――――――――――――――――― ERROR at setup of TestUserRedirectView.test_get_redirect_url ――――――――――――――――――――――――――――――――

    @pytest.fixture
    def user() -> User:
>       return UserFactory()

everycheese/conftest.py:15:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
.venv/lib/python3.8/site-packages/factory/base.py:40: in __call__
    return cls.create(**kwargs)
.venv/lib/python3.8/site-packages/factory/base.py:528: in create
    return cls._generate(enums.CREATE_STRATEGY, kwargs)
.venv/lib/python3.8/site-packages/factory/django.py:117: in _generate
    return super()._generate(strategy, params)
.venv/lib/python3.8/site-packages/factory/base.py:465: in _generate
    return step.build()
.venv/lib/python3.8/site-packages/factory/builder.py:271: in build
    postgen_results[declaration_name] = declaration.declaration.evaluate_post(
.venv/lib/python3.8/site-packages/factory/declarations.py:592: in evaluate_post
    return self.call(instance, step, postgen_context)
.venv/lib/python3.8/site-packages/factory/declarations.py:623: in call
    return self.function(
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <User: brownlance>, create = True, extracted = None, kwargs = {}

    @post_generation
    def password(
        self, create: bool, extracted: Sequence[Any], **kwargs
    ):
        password = (
            extracted
            if extracted
>           else Faker(
                "password",
                length=42,
                special_chars=True,
                digits=True,
                upper_case=True,
                lower_case=True,
            ).generate(extra_kwargs={})
E       AttributeError: 'Faker' object has no attribute 'generate'

everycheese/users/tests/factories.py:21: AttributeError

Here's my pip freeze:

appnope==0.1.2
asgiref==3.5.0
astroid==2.9.3
asttokens==2.0.5
attrs==21.4.0
backcall==0.2.0
backports.zoneinfo==0.2.1
black==22.1.0
certifi==2021.10.8
cffi==1.15.0
cfgv==3.3.1
charset-normalizer==2.0.11
click==8.0.3
coverage==6.3
cryptography==36.0.1
decorator==5.1.1
defusedxml==0.7.1
distlib==0.3.4
Django==4.0.1
django-allauth==0.47.0
django-autoslug==1.9.8
django-coverage-plugin==2.0.2
django-crispy-forms==1.14.0
django-debug-toolbar==3.2.4
django-environ==0.8.1
django-extensions==3.1.5
django-model-utils==4.2.0
django-stubs==1.9.0
django-stubs-ext==0.3.1
django-test-plus==2.2.0
executing==0.8.2
factory-boy==3.2.1
Faker==11.3.0
filelock==3.4.2
flake8==4.0.1
identify==2.4.6
idna==3.3
iniconfig==1.1.1
ipdb==0.13.9
ipython==8.0.1
isort==5.10.1
jedi==0.18.1
lazy-object-proxy==1.7.1
matplotlib-inline==0.1.3
mccabe==0.6.1
mypy==0.931
mypy-extensions==0.4.3
nodeenv==1.6.0
oauthlib==3.2.0
packaging==21.3
parso==0.8.3
pathspec==0.9.0
pexpect==4.8.0
pickleshare==0.7.5
Pillow==9.0.0
platformdirs==2.4.1
pluggy==1.0.0
pre-commit==2.17.0
prompt-toolkit==3.0.26
psycopg2-binary==2.9.3
ptyprocess==0.7.0
pure-eval==0.2.2
py==1.11.0
pycodestyle==2.8.0
pycparser==2.21
pyflakes==2.4.0
Pygments==2.11.2
PyJWT==2.3.0
pylint==2.12.2
pylint-django==2.5.0
pylint-plugin-utils==0.7
pyparsing==3.0.7
pytest==6.2.5
pytest-django==4.5.2
pytest-sugar==0.9.4
python-dateutil==2.8.2
python-slugify==5.0.2
python3-openid==3.2.0
pytz==2021.3
PyYAML==6.0
requests==2.27.1
requests-oauthlib==1.3.1
six==1.16.0
sqlparse==0.4.2
stack-data==0.1.4
termcolor==1.1.0
text-unidecode==1.3
toml==0.10.2
tomli==2.0.0
traitlets==5.1.1
types-pytz==2021.3.4
types-PyYAML==6.0.4
typing_extensions==4.0.1
Unidecode==1.3.2
urllib3==1.26.8
virtualenv==20.13.0
wcwidth==0.2.5
Werkzeug==2.0.2
whitenoise==5.3.0
wrapt==1.13.3
@AxZxP
Copy link

AxZxP commented May 16, 2022

You just have to pin factory-boy and it should just work. Here is my config :

[tool.poetry.dev-dependencies]
python-dotenv = "^0.20.0"
isort = "^5.10.1"
ipython = "^8.2.0"
ipdb = "^0.13.9"
rich = "^12.2.0"
Unidecode = "^1.3.4"
pytz = "^2022.1" 
pytest = "^7.1.1"
pytest-sugar = "^0.9.4"
pytest-cov = "^3.0.0"
pytest-django = "^4.5.2"
django-test-plus = "^2.2.0"
coverage = "^6.3.2"
pre-commit = "^2.18.1"
factory-boy = "3.0.1"
Django = "^3.0.0"
django-environ = "^0.8.1"
django-model-utils = "^4.2.0"
django-allauth = "^0.50.0"
django-crispy-forms = "^1.14.0"
django-autoslug = "^1.9.8"
django-debug-toolbar = "^3.2.4"
django-extensions = "^3.1.5"
django-coverage-plugin = "^2.0.2"
python-slugify = "^6.1.1"
Pillow = "^9.1.0" # Image processing
psycopg2-binary = "^2.9.3" 
whitenoise = "^6.0.0"
Werkzeug = "^2.1.1"
flake8 = "3.8.3"
black = "^22.3.0"
pylint-django = "^2.5.3"
mypy = "^0.942"
django-stubs = "^1.10.1"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants