BarraQDA / nvivotools

A range of tools to help you get more out of NVivo(tm)
GNU General Public License v3.0
46 stars 11 forks source link

Problem with installing SQLAlchemy-SQLAny #16

Open carecodeconnect opened 1 year ago

carecodeconnect commented 1 year ago

Hi Jonathan,

Thank you for building this fantastic tool! I can't wait to use it :)

I'm a beginner with using Python and SQL for data analysis and very keen to transition to free and open source qualitative and quantitative data analysis software, transitioning from SPSS and NVivo to Python/R and SQL for data analysis.

I am much more comfortable with using R and Python is proving enormously difficult to set up. But, I am perservering.

I have a dataset in NVivo R14 .nvp, .nvpx, and .qdpx files. I am running MacOS 11.7.7, Visual Studio Code 1.78.2, Python versions 2.7.16/3.11.3, SQLite 3.32.3, MySQL 8.0.33. I have the latest version of NVivo for MacOS installed by my trial licence has expired, so only have access to the NVivo files.

I read your excellent blog post (https://www.sosciso.de/en/2016/nvivotools/) but I am very stuck on installing nvivotools on my MacBook.

Thank you in advance for your help!

Question 1:

Is there an online version of your tool, as mentioned in your blog post?

Question 2:

How would you suggest I fix the problem I am having below with installing SQLAlchemy-SQLAny?

pip install git+git://github.com/BarraQDA/sqlalchemy-sqlany

Collecting git+git://github.com/BarraQDA/sqlalchemy-sqlany Cloning git://github.com/BarraQDA/sqlalchemy-sqlany to /private/var/folders/r_/g_rlktjn29ncywk7w4blvlkc0000gn/T/pip-req-build-6skiont Running command git clone --filter=blob:none --quiet git://github.com/BarraQDA/sqlalchemy-sqlany /private/var/folders/r/g_rlktjn29ncywk7w4blvlkc0000gn/T/pip-req-build-6skion_t fatal: read error: Connection reset by peer error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet git://github.com/BarraQDA/sqlalchemy-sqlany /private/var/folders/r_/g_rlktjn29ncywk7w4blvlkc0000gn/T/pip-req-build-6skion_t did not run successfully. │ exit code: 128 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error

× git clone --filter=blob:none --quiet git://github.com/BarraQDA/sqlalchemy-sqlany /private/var/folders/r_/g_rlktjn29ncywk7w4blvlkc0000gn/T/pip-req-build-6skion_t did not run successfully. │ exit code: 128 ╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

jschultz commented 1 year ago

Glad to hear this code is still proving useful.

Is there an online version of your tool, as mentioned in your blog post?

Unfortunately the server that I hosted this on got reset, and I've never found the time to rebuild this functionality.

Question 2:

How would you suggest I fix the problem I am having below with installing SQLAlchemy-SQLAny?

Looks like something in the connection to github. Try pip install git+https://github.com/BarraQDA/sqlalchemy-sqlany

I'm not sure how well nvivotools will work with more recent versions of NVivo but please keep me posted.

carecodeconnect commented 1 year ago

Thank you for the quick reply!

I have now managed to install SQLAlchemy-SQLAny and I can successfully import SQLAlchemy and SQLAnyDB :)

But, when I run the NormaliseDB.py script, I get the following error messages.

Any help would be gratefully appreciated! I have both Windows and MacOS NVivo files, so could use either, if a different method would be easier. All I want to do is convert either of these files to a .norm so I can start working with them in SQL.

Many thanks!

solaris@solariss-MacBook-Air nvivotools % python3 NormaliseDB.py mm-nvivo.nvpx Traceback (most recent call last): File "/Users/solaris/nvivotools/NormaliseDB.py", line 20, in import NVivo File "/Users/solaris/nvivotools/NVivo.py", line 48, in exec(open(os.path.dirname(os.path.realpath(file)) + os.path.sep + 'DataTypes.py').read()) File "", line 24, in ModuleNotFoundError: No module named 'sqlalchemy.databases'

carecodeconnect commented 1 year ago

I made some further progress by installing Anaconda and managing to start an SQLite server, but now I get these error messages:

(base) solaris@solariss-MacBook-Air nvivotools % python3 NormaliseNVPX.py mm-nvivo.nvpx sqlite:///mydatabase.db Found SQLAnywhere installation at /Applications/NVivo.app/Contents/SQLAnywhere/bin64 Missing database encryption key for database '/var/folders/r_/g_rlktjn29ncywk7w4blvlkc0000gn/T/tmpc917j5tl'. Traceback (most recent call last): File "/Users/solaris/nvivotools/NormaliseNVPX.py", line 151, in raise RuntimeError("Failed to start database server") RuntimeError: Failed to start database server

carecodeconnect commented 1 year ago

Here is the output when I run: comm -13 <(sort /tmp/sqlanyenv.1) <(sort /tmp/sqlanyenv.2)

BASH_REMATCH=([0]="NVivo") CHDIR=/Applications/NVivo.app/Contents/SQLAnywhere/lib64 PIPESTATUS=([0]="1") SQLANY_API_DLL=libdbcapir.rpath.dylib =/Applications/NVivo.app/Contents/SQLAnywhere/bin64/sa_config.sh arch=bin64 binpath=/Applications/NVivo.app/Contents/SQLAnywhere/bin64 bits=64 dbeng=/Applications/NVivo.app/Contents/SQLAnywhere/bin64/dbeng16 libpath=/Applications/NVivo.app/Contents/SQLAnywhere/lib64 nvivo=1 nvivoversion= source=NVivo.app sqlanywhere=/Applications static=0 version=16

jschultz commented 1 year ago

That's curious. How did you get past the earlier (sqlalchemy.databases) error?

In any case I pinned the earlier error down to a new major release of sqlalchemy. I think that pinning your version to something before 2.0 should help in the short run. But maybe you already figured that out.

Your last error is possibly due to incorrect command syntax. NormaliseNVPX takes as its second argument a simple file name (ie no sqlite://) Although that doesn't really explain why sqlany is complaining, it's worth trying.

On 17/6/23 00:10, carecodeconnect wrote:

Here is the output when I run: comm -13 <(sort /tmp/sqlanyenv.1) <(sort /tmp/sqlanyenv.2)

BASH_REMATCH=([0]="NVivo") CHDIR=/Applications/NVivo.app/Contents/SQLAnywhere/lib64 PIPESTATUS=([0]="1") SQLANY_API_DLL=libdbcapir.rpath.dylib =/Applications/NVivo.app/Contents/SQLAnywhere/bin64/sa_config.sh arch=bin64 binpath=/Applications/NVivo.app/Contents/SQLAnywhere/bin64 bits=64 dbeng=/Applications/NVivo.app/Contents/SQLAnywhere/bin64/dbeng16 libpath=/Applications/NVivo.app/Contents/SQLAnywhere/lib64 nvivo=1 nvivoversion= source=NVivo.app sqlanywhere=/Applications static=0 version=16

— Reply to this email directly, view it on GitHub https://github.com/BarraQDA/nvivotools/issues/16#issuecomment-1594926692, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABVNTRTAPZ7SD2M6GRB2ETXLSAQVANCNFSM6AAAAAAZJEGJO4. You are receiving this because you commented.Message ID: @.***>