dvc94ch / pycircuit

Use python for designing circuits (experimental) (deprecated in favor of https://electron-lang.org)
https://electron-lang.org
56 stars 9 forks source link

Unable to install or use any example. #32

Open HTerminal opened 4 years ago

HTerminal commented 4 years ago

Hello @dvc94ch

I am trying to build this pycircuit the setup installs the pycircuit fine with this command.

pip3 install pycircuit or python3 setup.py install

Am i doing it right can you please help me with how i can install and build and run any example. I have also tried the electron-lang project but unable to follow any documentation there. Please let me know.

Regards Hitesh

dvc94ch commented 4 years ago

Sorry both projects are unmaintained and will be for the foreseeable future. There's no money in eda, so I moved on to blockchain

HTerminal commented 4 years ago

Ok @dvc94ch Thanks for the reply. Still any advice on how to get start with these projects.

dvc94ch commented 4 years ago

Do you have an error message?

HTerminal commented 4 years ago

Yes. Let me share that with you in a moment.

HTerminal commented 4 years ago

So, @dvc94ch here is my complete process i followed with error. Step 1 : I downloaded the github repo of pycircuit

Step 2 : I installed pycircuit using this command python3 setup.py install which resulted this output

running install
running bdist_egg
running egg_info
writing pycircuit.egg-info/PKG-INFO
writing dependency_links to pycircuit.egg-info/dependency_links.txt
writing requirements to pycircuit.egg-info/requires.txt
writing top-level names to pycircuit.egg-info/top_level.txt
reading manifest file 'pycircuit.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'pycircuit.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/lib
creating build/lib/placer
copying placer/__init__.py -> build/lib/placer
copying placer/bin.py -> build/lib/placer
copying placer/box.py -> build/lib/placer
copying placer/grid.py -> build/lib/placer
copying placer/place.py -> build/lib/placer
creating build/lib/pycircuit
copying pycircuit/__init__.py -> build/lib/pycircuit
copying pycircuit/build.py -> build/lib/pycircuit
copying pycircuit/circuit.py -> build/lib/pycircuit
copying pycircuit/compiler.py -> build/lib/pycircuit
copying pycircuit/component.py -> build/lib/pycircuit
copying pycircuit/device.py -> build/lib/pycircuit
copying pycircuit/diffev.py -> build/lib/pycircuit
copying pycircuit/layers.py -> build/lib/pycircuit
copying pycircuit/optimize.py -> build/lib/pycircuit
copying pycircuit/outline.py -> build/lib/pycircuit
copying pycircuit/package.py -> build/lib/pycircuit
copying pycircuit/pcb.py -> build/lib/pycircuit
copying pycircuit/pinassign.py -> build/lib/pycircuit
copying pycircuit/testbench.py -> build/lib/pycircuit
copying pycircuit/traces.py -> build/lib/pycircuit
creating build/lib/router
copying router/__init__.py -> build/lib/router
copying router/monosat.py -> build/lib/router
copying router/router.py -> build/lib/router
creating build/lib/pycircuit/formats
copying pycircuit/formats/__init__.py -> build/lib/pycircuit/formats
copying pycircuit/formats/json.py -> build/lib/pycircuit/formats
copying pycircuit/formats/kicad.py -> build/lib/pycircuit/formats
copying pycircuit/formats/spice.py -> build/lib/pycircuit/formats
copying pycircuit/formats/svg.py -> build/lib/pycircuit/formats
copying pycircuit/formats/yosys.py -> build/lib/pycircuit/formats
creating build/lib/pycircuit/library
copying pycircuit/library/__init__.py -> build/lib/pycircuit/library
copying pycircuit/library/components.py -> build/lib/pycircuit/library
copying pycircuit/library/design_rules.py -> build/lib/pycircuit/library
copying pycircuit/library/devices.py -> build/lib/pycircuit/library
copying pycircuit/library/outlines.py -> build/lib/pycircuit/library
copying pycircuit/library/packages.py -> build/lib/pycircuit/library
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/placer
copying build/lib/placer/__init__.py -> build/bdist.linux-x86_64/egg/placer
copying build/lib/placer/bin.py -> build/bdist.linux-x86_64/egg/placer
copying build/lib/placer/box.py -> build/bdist.linux-x86_64/egg/placer
copying build/lib/placer/grid.py -> build/bdist.linux-x86_64/egg/placer
copying build/lib/placer/place.py -> build/bdist.linux-x86_64/egg/placer
creating build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/__init__.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/build.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/circuit.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/compiler.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/component.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/device.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/diffev.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/layers.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/optimize.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/outline.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/package.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/pcb.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/pinassign.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/testbench.py -> build/bdist.linux-x86_64/egg/pycircuit
copying build/lib/pycircuit/traces.py -> build/bdist.linux-x86_64/egg/pycircuit
creating build/bdist.linux-x86_64/egg/pycircuit/formats
copying build/lib/pycircuit/formats/__init__.py -> build/bdist.linux-x86_64/egg/pycircuit/formats
copying build/lib/pycircuit/formats/json.py -> build/bdist.linux-x86_64/egg/pycircuit/formats
copying build/lib/pycircuit/formats/kicad.py -> build/bdist.linux-x86_64/egg/pycircuit/formats
copying build/lib/pycircuit/formats/spice.py -> build/bdist.linux-x86_64/egg/pycircuit/formats
copying build/lib/pycircuit/formats/svg.py -> build/bdist.linux-x86_64/egg/pycircuit/formats
copying build/lib/pycircuit/formats/yosys.py -> build/bdist.linux-x86_64/egg/pycircuit/formats
creating build/bdist.linux-x86_64/egg/pycircuit/library
copying build/lib/pycircuit/library/__init__.py -> build/bdist.linux-x86_64/egg/pycircuit/library
copying build/lib/pycircuit/library/components.py -> build/bdist.linux-x86_64/egg/pycircuit/library
copying build/lib/pycircuit/library/design_rules.py -> build/bdist.linux-x86_64/egg/pycircuit/library
copying build/lib/pycircuit/library/devices.py -> build/bdist.linux-x86_64/egg/pycircuit/library
copying build/lib/pycircuit/library/outlines.py -> build/bdist.linux-x86_64/egg/pycircuit/library
copying build/lib/pycircuit/library/packages.py -> build/bdist.linux-x86_64/egg/pycircuit/library
creating build/bdist.linux-x86_64/egg/router
copying build/lib/router/__init__.py -> build/bdist.linux-x86_64/egg/router
copying build/lib/router/monosat.py -> build/bdist.linux-x86_64/egg/router
copying build/lib/router/router.py -> build/bdist.linux-x86_64/egg/router
byte-compiling build/bdist.linux-x86_64/egg/placer/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/placer/bin.py to bin.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/placer/box.py to box.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/placer/grid.py to grid.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/placer/place.py to place.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/build.py to build.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/circuit.py to circuit.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/compiler.py to compiler.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/component.py to component.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/device.py to device.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/diffev.py to diffev.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/layers.py to layers.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/optimize.py to optimize.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/outline.py to outline.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/package.py to package.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/pcb.py to pcb.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/pinassign.py to pinassign.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/testbench.py to testbench.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/traces.py to traces.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/formats/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/formats/json.py to json.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/formats/kicad.py to kicad.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/formats/spice.py to spice.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/formats/svg.py to svg.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/formats/yosys.py to yosys.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/library/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/library/components.py to components.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/library/design_rules.py to design_rules.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/library/devices.py to devices.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/library/outlines.py to outlines.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/pycircuit/library/packages.py to packages.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/router/__init__.py to __init__.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/router/monosat.py to monosat.cpython-38.pyc
byte-compiling build/bdist.linux-x86_64/egg/router/router.py to router.cpython-38.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying pycircuit.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pycircuit.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pycircuit.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pycircuit.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pycircuit.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/pycircuit-0.0.2-py3.8.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing pycircuit-0.0.2-py3.8.egg
Copying pycircuit-0.0.2-py3.8.egg to /usr/local/lib/python3.8/dist-packages
Adding pycircuit 0.0.2 to easy-install.pth file

Installed /usr/local/lib/python3.8/dist-packages/pycircuit-0.0.2-py3.8.egg
Processing dependencies for pycircuit==0.0.2
Searching for z3-solver==4.8.8.0
Best match: z3-solver 4.8.8.0
Adding z3-solver 4.8.8.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for Shapely==1.7.0
Best match: Shapely 1.7.0
Adding Shapely 1.7.0 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for scipy==1.3.3
Best match: scipy 1.3.3
Adding scipy 1.3.3 to easy-install.pth file

Using /usr/lib/python3/dist-packages
Searching for pykicad==0.1.1
Best match: pykicad 0.1.1
Adding pykicad 0.1.1 to easy-install.pth file

Using /usr/local/lib/python3.8/dist-packages
Searching for numpy==1.17.4
Best match: numpy 1.17.4
Adding numpy 1.17.4 to easy-install.pth file
Installing f2py script to /usr/local/bin
Installing f2py3 script to /usr/local/bin
Installing f2py3.7 script to /usr/local/bin
Installing f2py3.8 script to /usr/local/bin

Using /usr/lib/python3/dist-packages
Searching for pyparsing==2.4.6
Best match: pyparsing 2.4.6
Adding pyparsing 2.4.6 to easy-install.pth file

Using /usr/lib/python3/dist-packages
Finished processing dependencies for pycircuit==0.0.2

Step 3 : I cd into pycircuit-master/examples/voltage_divider

Step 4: i run the example using this command python3 voltage_divider.py which resulted in this output error

Traceback (most recent call last):
  File "voltage_divider.py", line 5, in <module>
    from placer.place import Placer
  File "<frozen zipimport>", line 259, in load_module
  File "/usr/local/lib/python3.8/dist-packages/pycircuit-0.0.2-py3.8.egg/placer/__init__.py", line 1, in <module>
  File "<frozen zipimport>", line 259, in load_module
  File "/usr/local/lib/python3.8/dist-packages/pycircuit-0.0.2-py3.8.egg/placer/place.py", line 3, in <module>
ImportError: cannot import name 'json' from 'pycircuit.formats' (/home/eliot/.local/lib/python3.8/site-packages/pycircuit/formats/__init__.py)

Please if you have some time help me getting them start. Thank You Hitesh

HTerminal commented 4 years ago

Hello @dvc94ch did you get any chance to look into it i also tried the methods of @kasbah. But they also did not worked for me.

kasbah commented 4 years ago

What do you mean by "methods of @kasbah"?

https://github.com/google/pcbdl might be worth a look for a more actively developed project for designing circuits using Python.

HTerminal commented 4 years ago

Hello @kasbah i was actually mentioning this issue "https://github.com/dvc94ch/pycircuit/issues/11" opened by you. Also i found you have a lot of repository regarding PCB design using python. So i mentioned you too. Hope you don't mind.

Also i have tried to run examples of PCBDL . The examples of PCBDL are compiling and running but i am unable to find the outputs generated. by python.

Let me explain myself clearly. Actually i am working on this field from last few days. I also saw your video where you explained all the possible way like skidl , pycircuit and other.

I tired using skidl it worked fine. But unable to generate layouts. So kinda just searching for ways. Pycircuit looked promising but as @dvc94ch mentioned. He is not working on them.

So i am really looking for some guidance.

kasbah commented 4 years ago

No problem @HTerminal. Glad you found the talk useful. I would open issues with PCBDL, the developer was very responsive on the issues I raised before when I wanted to try it out. I know people use skidl with success as well, so if you want to use that but can't get it to work, open issues there.

Otherwise, if you want to use pycircuit, looks like you would be a bit on your own trying to figure out how to get it to work.

HTerminal commented 4 years ago

Hello @kasbah Thank you. I will open issues there.

Also we are a team working on a project related to this field of automated pcbs. We are really looking forward to work with a person who has experience in this field. Can we have further conversation on email if you don't mind. I would like to share some brief about our work with you, we really want to move forward in this field. I hope you don't mind @dvc94ch . I know this seems not so professional talking here.

Really looking forward.