calogica / dbt-expectations

Port(ish) of Great Expectations to dbt test macros
https://calogica.github.io/dbt-expectations/
Apache License 2.0
1.06k stars 130 forks source link

Issues installing on Windows 11 #165

Closed StuartMiddleton closed 2 years ago

StuartMiddleton commented 2 years ago

This may or many not be related to this install being on Windows 11, but it is a distinguisher from my PC vs that of others that successfully install.

Tested on 0.5.5 and 0.4.7 with similar results.

Stepped through installation successfully until the "integration tests (developers only)" section. Starting "from within integration_tests folder" I start to experience issues. My experience is as follows:

  1. Navigate to ...\my_project\dbt_packages\dbt_expectations\integration_tests
  2. Run dbt build Compilation Error dbt found 1 package(s) specified in packages.yml, but only 0 package(s) installed in dbt_packages. Run "dbt deps" to install package dependencies.
  3. Run dbt deps [WinError 1314] A required privilege is not held by the client: '[snipped]\\my_project\\dbt_packages\\dbt_expectations' -> 'dbt_packages\\dbt_expectations'

At this point I tried running Visual Studio Code as administrator to see if it was a permissions issue. My experience was as follows:

  1. Navigate to ...\my_project\dbt_packages\dbt_expectations\integration_tests
  2. Run dbt build Compilation Error dbt found 1 package(s) specified in packages.yml, but only 0 package(s) installed in dbt_packages. Run "dbt deps" to install package dependencies.
  3. Run dbt deps [Errno 2] No such file or directory: 'dbt_packages\\dbt-utils-0.8.2\\integration_tests\\data\\schema_tests\\data_test_mutually_exclusive_ranges_with_gaps_zero_length.csv'

Being very new to dbt and python I'm more than a little lost.

clausherther commented 2 years ago

Hi @StuartMiddleton! I don't know anything about Windows or if this is related, but unless you're looking to make changes to the dbt-expectations package and run integration tests before submitting a PR, you do not need to do anything with integration_tests and you can ignore that section. To use dbt-expectations, you only need to include the reference in your project's packages.yml like so:

packages:
  - package: calogica/dbt_expectations
    version: [">=0.5.0", "<0.6.0"]

And then run dbt deps in your project. This will pull the latest version from dbt package hub. There is no need to clone the package repo or anything like that on your own.

Hope that makes sense!

clausherther commented 2 years ago

Also, make sure you add the dbt_date:time_zone variable to your dbt_project.yml so that dbt-date (which is automatically included) has a default timezone to use, see https://github.com/calogica/dbt-expectations#variables