Ok I have a python3 environment, but I am lost!
Just google the question!. As the community is extremely active, most of the problems are already documented.
- https://docs.python.org : the official website
- stackoverflow : where most of real-life problems are already solved
- fullstackpython : a hub for many other python ressources.
A python error comes with a traceback, i.e. the list of calls that ended to an error. Read the traceback from the bottom. Using this example:
Traceback: tests/test_guiform.py:5: in <module> from opentea.gui_forms.otinker import main_otinker src/opentea/gui_forms/otinker.py:7: in <module> from opentea.gui_forms.root_widget import OTRoot src/opentea/gui_forms/root_widget.py:70: in <module> from tiny_3d_engine import (Engine3D, load_file_as_scene) E ImportError: cannot import name 'load_file_as_scene' from 'tiny_3d_engine' (/usr/local/lib/python3.7/site-packages/tiny_3d_engine-0.1.0-py3.7.egg/tiny_3d_engine/__init__.py)
This is an Importation error (
ImportError). The function load_file_as_scene was not found in the package tiny_3d_engine-0.1.0.
The caller program opentea/gui_forms/root_widget.py isasking for something which does not exists in this distribution.
Nota: This illustrates a dependency error. Opentea should have forced a version requirement (tiny_3d_engine>=0) before relying on a new feature.
If you ask for help or report a bug, make sure you keep the traceback with you.
We encourage the use of
pip. See the official documentation.
The output will look like:
tiny-3d-engine 0.1.0 /Users/dauptain/GITLAB/tiny_3d_engine/src tqdm 4.45.0 Tree 0.2.4 twine 3.1.1 typed-ast 1.4.1
You see in this list, three columns. In the first, the name of the packages installed. In the second, the version.
If a path is present in the third column (here
tiny-3d-engine), the package is run from specific sources in your computer. . If the column is void, this package is installed in the
site_packagesforlder of your python environment.
The “install” mode is the most common situation. It is in very short a “read only mode”. You installed the package either via
pip install from the Python Package Index, or via
python setup.py install from the sources.
In “develop” mode, you are running a package from the sources. It is in very short a “read AND WRITE mode” This is useful if you are developing this package (editing the sources).
You can read the answer to this develop vs install question on stackoverflow.
If your machine is isolated from internet, but you can bring files on it, you can install packages from wheels. You need a similar machine, with:
- a compatible processor.
- a compatible linux distribution.
- the same python version.
First download the wheel on the similar machine.
>mkdir h5py > cd h5py > pip download h5py > cd .. > ls -lrt h5py total 17152 -rw-r--r-- 1 dauptain cfd 4012056 10 nov. 10:44 h5py-3.1.0-cp36-cp36m-manylinux1_x86_64.whl -rw-r--r-- 1 dauptain cfd 13368977 10 nov. 10:44 numpy-1.19.4-cp36-cp36m-manylinux1_x86_64.whl -rw-r--r-- 1 dauptain cfd 7573 10 nov. 10:44 cached_property-1.5.2-py2.py3-none-any.whl
Then make a archive:
> tree h5py > tar -csv h5py.tar h5py
Upload the archive to your target, isolated, machine. Finally source your own virtual environment and install using pip/
(awesome_venv) > tar -cvf h5py.tar (awesome_venv) > pip install h5py-3.1.0-cp36-cp36m-manylinux1_x86_64.whl --no-deps