Looks like a badly built package (assuming that json is installed on the user's system when it is actually outside the standard library).
You can use pip to globally install json: just write pip install json. You may need to install pip separately.
Question fixing- ModuleNotFOundError: No module named 'jsonmerge'
ImportError: No module named json_tricks
python - How to fix ModuleNotFoundError: No module named 'rest_framework' in Ubuntu - Stack Overflow
python - No module named 'json' after installing simplejson - Stack Overflow
Videos
» pip install jsonpatch
I've tried a ton of different things trying to get some AI art stuff working, but no matter what I have tried, I keep getting the same error whether I go through python directly, or through conda. its always in the same place. None of my friends had issues with getting it working, and even after uninstall everything (git, python, etc), and reinstalling it, nothing has changed.
Note: I do not have a definitive answer but will offer a series of steps you can try:
The first thing is see if you can import json from the usual python interpreter:
import json
print(json.__file__) #this would be important to know if it works
If that does work (as well as commenting what json.__file__ is) you would then want to try to use pip from the interpreter.
If you can't import json normally:
This is not surprising, I did not expect pip to be looking in a non-standard place for modules. You will want to figure out where the json package should be located on your computer, you can do this by importing another module from the standard library and looking at it's __file__:
>>> import fractions
>>> fractions.__file__
'/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/fractions.py'
This will obviously be different for you but I'd expect there to be a json folder in the same folder as fractions.py
if you can't import fractions or queue or datetime etc.
If you can't import anything from the standard library you will probably want to just reinstall python.
If the json folder is there and contains an __init__.py
Use the rename function of your file browser to make sure there are no weird special characters, but other then that I'm not sure, if you can import fractions.py but not a package from the same folder that would imply there is something very wrong with the import mechanics of your python version.
If the json folder is not with the rest of the standard library
It is possible that your python distribution has a different structure then I'd expect, it at least can't hurt to take a look for it.
You can search for the json folder amongst your various python files using the find command, not really sure how it works but just another thing to try. If you do find it with the __init__.py, encode.py, decode.py, scanner.py, and tool.py (at least those are the ones in my version) you'll probably want to figure out how it got there, but maybe just move it to the same folder as the rest of the standard library.
If you can't find the json package or you find it and it is corrupted
Well then you will need to replace it! Don't worry, this isn't too hard, just grab a source release of python from the site and extract the json package from it, once it is uncompressed the json folder should be in the Lib folder. Simply copy/move it to the rest of the standard library and you should be good to go!
I hope this helps you debug what is going on, This covers all the scenarios I could imagine happening and I would be interested in which one fixed your issue (or what you were able to figure out so I can come up with more options)
I am guessing that you install it using either pip install simplejson to download from PyPI or using apt-get install python-simplejson to download from ubuntu repositories.
It is possible that you downlaoded the library for the Python2 if you used any of the commands above and it won't be available for Python3 (which pip3.4 will use). Can you try these commands and help debug yourself?
$ python -c "import simplejson"
$ python3.4 -c "import simplejson"
This would tell you which version of the python did you install simplejson for last time (my guess in python2). If the 2nd command errors out with ImportError try:
$ pip3.4 install simplejson
and then install your libraries.
Gone through all the things google has to say about it. Ive installed and uninstalled manually but still get the same error. First time messing with python and I gotta say I'm not impressed. it has things installed and pretends they are not. Anyone know a fix for missing 'jsonmerge"? And where do I add arguments to launch.py?
File "C:\Users\SKF02\stable-diffusion-webui-master\repositories\k-diffusion\k_diffusion\config.py", line 6, in <module>
from jsonmerge import merge
ModuleNotFoundError: No module named 'jsonmerge'
Press any key to continue . . .You should specify the full path to the module, including the package names, when you use patch. Also, do not use parentheses in the path. Modify the return_value attribute of the Mock object to customize the returning value of a call to the object:
with patch('projectxapp.billing.Billing.create_invoice_pdf') as p1:
p1.return_value = '/invoice.pdf'
test = billing.Billing().send_invoices(invoices)
Solution
Since I had already imported the module of the method I needed to patch. I didn't need to use the full path including the package name.
Changed
patch('projectxapp.billing.Billing.create_invoice_pdf')
to this
patch('billing.Billing.create_invoice_pdf')
From the unittest documentation:
target should be a string in the form 'package.module.ClassName'. The target is imported and the specified object replaced with the new object, so the target must be importable from the environment you are calling patch() from. The target is imported when the decorated function is executed, not at decoration time.