opened
fjp
username_0
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->

On Ubuntu 20.04 (python 3.8) I followed the documentation on the required dependencies for Ubuntu/Linux and created a new virtual environment with `python -m venv venv`. When I try to install `manimce` with `pip install manimce` I get the following error:

```console
pip install manimce     
Collecting manimce
  Using cached manimce-0.1.0-py3-none-any.whl (233 kB)
Collecting tqdm
  Using cached tqdm-4.51.0-py2.py3-none-any.whl (70 kB)
Collecting progressbar
  Using cached progressbar-2.5.tar.gz (10 kB)
Collecting watchdog
  Using cached watchdog-0.10.3.tar.gz (94 kB)
Collecting pydub
  Using cached pydub-0.24.1-py2.py3-none-any.whl (30 kB)
Collecting Pillow
  Using cached Pillow-8.0.1-cp38-cp38-manylinux1_x86_64.whl (2.2 MB)
Collecting numpy
  Using cached numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
Collecting colour
  Using cached colour-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting grpcio-tools
  Using cached grpcio_tools-1.33.2-cp38-cp38-manylinux2014_x86_64.whl (2.5 MB)
Collecting rich>=4.2.1
  Using cached rich-9.2.0-py3-none-any.whl (164 kB)
Collecting scipy
  Using cached scipy-1.5.4-cp38-cp38-manylinux1_x86_64.whl (25.8 MB)
Collecting grpcio
  Using cached grpcio-1.33.2-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB)
Processing /home/username_0/.cache/pip/wheels/7c/6f/b3/3181c06d04ed8f428f86797384f5b4c9932692b9526b6aba21/pycairo-1.20.0-cp38-cp38-linux_x86_64.whl
Collecting pangocairocffi<0.4.0,>=0.3.0
  Using cached pangocairocffi-0.3.2.tar.gz (21 kB)
Collecting pangocffi<0.7.0,>=0.6.0
  Using cached pangocffi-0.6.0.tar.gz (37 kB)
Collecting pygments
  Using cached Pygments-2.7.2-py3-none-any.whl (948 kB)
Collecting cairocffi<2.0.0,>=1.1.0
  Using cached cairocffi-1.2.0.tar.gz (70 kB)
Collecting pathtools>=0.1.1
  Using cached pathtools-0.1.2.tar.gz (11 kB)
Collecting protobuf<4.0dev,>=3.5.0.post1
  Using cached protobuf-3.13.0-cp38-cp38-manylinux1_x86_64.whl (1.3 MB)
Collecting colorama<0.5.0,>=0.4.0
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting typing-extensions<4.0.0,>=3.7.4
  Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting commonmark<0.10.0,>=0.9.0
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Collecting six>=1.5.2
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting cffi>=1.1.0
  Using cached cffi-1.14.3-cp38-cp38-manylinux1_x86_64.whl (410 kB)
Requirement already satisfied: setuptools in ./venv/lib/python3.8/site-packages (from protobuf<4.0dev,>=3.5.0.post1->grpcio-tools->manimce) (44.0.0)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Building wheels for collected packages: progressbar, watchdog, pangocairocffi, pangocffi, cairocffi, pathtools
  Building wheel for progressbar (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/username_0/git/ros_ws/src/diffbot/docs/plots/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qmht0nm3/progressbar/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qmht0nm3/progressbar/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-jd74wypd
       cwd: /tmp/pip-install-qmht0nm3/progressbar/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help
  
  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for progressbar
  Running setup.py clean for progressbar
  Building wheel for watchdog (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/username_0/git/ros_ws/src/diffbot/docs/plots/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qmht0nm3/watchdog/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qmht0nm3/watchdog/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-z50sa6df
       cwd: /tmp/pip-install-qmht0nm3/watchdog/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help
  
  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for watchdog
  Running setup.py clean for watchdog
...
```

To solve this, I had to install `wheel` with `pip install wheel` and before that I also updated `pip` using `pip install -U pip`.
 [BUG-General]  
issue
created
behackl
username_1
Thank you for your report, as well as the corresponding solution!

Just for good measure: @username_2, do you think we can just add `wheel` as a dependency?
comment
closed
naveen521kk
username_2
issue
created
naveen521kk
username_2
That won't be woking.
If I remember correctly, creating a venv will actually install `wheel` and `setuptools` along with `pip`. I don't know why it doesn't here. Also, if `wheel` is not available it should use setup.py without any error. I don't know why it doesn't here. Maybe this should be a venv bug?
comment
reopened
behackl
username_1
**Describe the bug**
<!-- A clear and concise description of what the bug is. -->

On Ubuntu 20.04 (python 3.8) I followed the documentation on the required dependencies for Ubuntu/Linux and created a new virtual environment with `python -m venv venv`. When I try to install `manimce` with `pip install manimce` I get the following error:

```console
pip install manimce     
Collecting manimce
  Using cached manimce-0.1.0-py3-none-any.whl (233 kB)
Collecting tqdm
  Using cached tqdm-4.51.0-py2.py3-none-any.whl (70 kB)
Collecting progressbar
  Using cached progressbar-2.5.tar.gz (10 kB)
Collecting watchdog
  Using cached watchdog-0.10.3.tar.gz (94 kB)
Collecting pydub
  Using cached pydub-0.24.1-py2.py3-none-any.whl (30 kB)
Collecting Pillow
  Using cached Pillow-8.0.1-cp38-cp38-manylinux1_x86_64.whl (2.2 MB)
Collecting numpy
  Using cached numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
Collecting colour
  Using cached colour-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting grpcio-tools
  Using cached grpcio_tools-1.33.2-cp38-cp38-manylinux2014_x86_64.whl (2.5 MB)
Collecting rich>=4.2.1
  Using cached rich-9.2.0-py3-none-any.whl (164 kB)
Collecting scipy
  Using cached scipy-1.5.4-cp38-cp38-manylinux1_x86_64.whl (25.8 MB)
Collecting grpcio
  Using cached grpcio-1.33.2-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB)
Processing /home/username_0/.cache/pip/wheels/7c/6f/b3/3181c06d04ed8f428f86797384f5b4c9932692b9526b6aba21/pycairo-1.20.0-cp38-cp38-linux_x86_64.whl
Collecting pangocairocffi<0.4.0,>=0.3.0
  Using cached pangocairocffi-0.3.2.tar.gz (21 kB)
Collecting pangocffi<0.7.0,>=0.6.0
  Using cached pangocffi-0.6.0.tar.gz (37 kB)
Collecting pygments
  Using cached Pygments-2.7.2-py3-none-any.whl (948 kB)
Collecting cairocffi<2.0.0,>=1.1.0
  Using cached cairocffi-1.2.0.tar.gz (70 kB)
Collecting pathtools>=0.1.1
  Using cached pathtools-0.1.2.tar.gz (11 kB)
Collecting protobuf<4.0dev,>=3.5.0.post1
  Using cached protobuf-3.13.0-cp38-cp38-manylinux1_x86_64.whl (1.3 MB)
Collecting colorama<0.5.0,>=0.4.0
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting typing-extensions<4.0.0,>=3.7.4
  Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting commonmark<0.10.0,>=0.9.0
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Collecting six>=1.5.2
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting cffi>=1.1.0
  Using cached cffi-1.14.3-cp38-cp38-manylinux1_x86_64.whl (410 kB)
Requirement already satisfied: setuptools in ./venv/lib/python3.8/site-packages (from protobuf<4.0dev,>=3.5.0.post1->grpcio-tools->manimce) (44.0.0)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Building wheels for collected packages: progressbar, watchdog, pangocairocffi, pangocffi, cairocffi, pathtools
  Building wheel for progressbar (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/username_0/git/ros_ws/src/diffbot/docs/plots/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qmht0nm3/progressbar/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qmht0nm3/progressbar/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-jd74wypd
       cwd: /tmp/pip-install-qmht0nm3/progressbar/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help
  
  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for progressbar
  Running setup.py clean for progressbar
  Building wheel for watchdog (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/username_0/git/ros_ws/src/diffbot/docs/plots/venv/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qmht0nm3/watchdog/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qmht0nm3/watchdog/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-z50sa6df
       cwd: /tmp/pip-install-qmht0nm3/watchdog/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help
  
  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for watchdog
  Running setup.py clean for watchdog
...
```

To solve this, I had to install `wheel` with `pip install wheel` and before that I also updated `pip` using `pip install -U pip`.
[BUG-General] error: invalid command 'bdist_wheel' (with solution)
issue
created
behackl
username_1
@username_0 from the log you have posted, the usual behavior (if the wheel package is not available -- which seems to be a common problem with venv according to a quick google search -- then setup.py is used to build the package) can be observed, and actually the build did not fail within the lines you have posted.

Did you abort the build at some point, or was there another error down the line that actually caused the build to fail?
comment
created
fjp
username_0
➜  plots git:(master) ✗ which python
/usr/bin/python
```

Another note here: I have [ROS Noetic](http://wiki.ros.org/noetic) installed in `/opt/ros/noetic` which seems to put some ROS packages in a fresh venv. However there is no `wheel`:

<details>
<summary>pip list</summary>
```console
➜  manimce python -m venv venv
➜  manimce source venv/bin/activate
(venv) ➜  manimce pip list
Package                       Version
----------------------------- -------
actionlib                     1.13.2 
angles                        1.9.13 
base-local-planner            1.17.1 
bondpy                        1.8.6  
camera-calibration            1.15.2 
camera-calibration-parsers    1.12.0 
catkin                        0.8.8  
controller-manager            0.19.2 
controller-manager-msgs       0.19.2 
cv-bridge                     1.15.0 
diagnostic-analysis           1.10.2 
diagnostic-common-diagnostics 1.10.2 
diagnostic-updater            1.10.2 
dynamic-reconfigure           1.7.1  
gazebo-plugins                2.9.1  
gazebo-ros                    2.9.1  
gencpp                        0.6.5  
geneus                        3.0.0  
genlisp                       0.4.18 
genmsg                        0.5.16 
gennodejs                     2.0.2  
genpy                         0.6.14 
image-geometry                1.15.0 
interactive-markers           1.12.0 
joint-state-publisher         1.15.0 
joint-state-publisher-gui     1.15.0 
laser-geometry                1.6.5  
message-filters               1.15.8 
mir-driver                    1.1.0  
pip                           20.0.2 
pkg-resources                 0.0.0  
python-qt-binding             0.4.3  
qt-dotgraph                   0.4.2  
qt-gui                        0.4.2  
qt-gui-cpp                    0.4.2  
qt-gui-py-common              0.4.2  
resource-retriever            1.12.6 
rosbag                        1.15.8 
rosboost-cfg                  1.15.7 
rosclean                      1.15.7 
roscreate                     1.15.7 
rosdoc-lite                   0.2.10 
rosgraph                      1.15.8 
roslaunch                     1.15.8 
roslib                        1.15.7 
roslint                       0.12.0 
roslz4                        1.15.8 
rosmake                       1.15.7 
rosmaster                     1.15.8 
rosmsg                        1.15.8 
rosnode                       1.15.8 
rosparam                      1.15.8 
rospy                         1.15.8 
rospy-message-converter       0.5.3  
rosserial-client              0.9.1  
rosserial-python              0.9.1  
rosservice                    1.15.8 
rostest                       1.15.8 
rostopic                      1.15.8 
rosunit                       1.15.7 
roswtf                        1.15.8 
rqt-action                    0.4.9  
rqt-bag                       0.4.15 
rqt-bag-plugins               0.4.15 
rqt-console                   0.4.11 
rqt-controller-manager        0.19.2 
rqt-dep                       0.4.10 
rqt-graph                     0.4.14 
rqt-gui                       0.5.2  
rqt-gui-py                    0.5.2  
rqt-image-view                0.4.16 
rqt-launch                    0.4.8  
rqt-logger-level              0.4.11 
rqt-moveit                    0.5.9  
rqt-msg                       0.4.9  
rqt-nav-view                  0.5.7  
rqt-plot                      0.4.12 
rqt-pose-view                 0.5.10 
rqt-publisher                 0.4.9  
rqt-py-common                 0.5.2  
rqt-py-console                0.4.9  
rqt-reconfigure               0.5.3  
rqt-robot-dashboard           0.5.8  
rqt-robot-monitor             0.5.13 
rqt-robot-steering            0.5.11 
rqt-runtime-monitor           0.5.8  
rqt-rviz                      0.6.1  
rqt-service-caller            0.4.9  
rqt-shell                     0.4.10 
rqt-srv                       0.4.8  
rqt-tf-tree                   0.6.2  
rqt-top                       0.4.9  
rqt-topic                     0.4.12 
rqt-web                       0.4.9  
rviz                          1.14.1 
sensor-msgs                   1.13.0 
setuptools                    44.0.0 
smach                         2.5.0  
smach-ros                     2.5.0  
smclib                        1.8.6  
tf                            1.13.2 
tf-conversions                1.13.2 
tf2-geometry-msgs             0.7.5  
tf2-kdl                       0.7.5  
tf2-py                        0.7.5  
tf2-ros                       0.7.5  
topic-tools                   1.15.8 
xacro                         1.14.4
``` 
<details>
comment
created
behackl
username_1
Thank you for the more detailed information! I agree that the output of pip is a little frightening, but judging from

```
Successfully installed [...] manimce-0.1.0 [...]
```

I'd say that the process actually did not fail and that manim was installed successfully. Everything else here concerns how `venv` and/or `pip` work, and is outside of our scope -- which is why I am closing this again. Let us know if you run into further issues!
comment
closed
behackl
username_1
issue
created
naveen521kk
username_2
What was you pip version?
Maybe related to https://github.com/pypa/pip/issues/8178
comment
created
fjp
username_0
Inside a new venv it is:

```console
$ pip list | grep pip
pip                           20.0.2
```

This version seems to be not up to date and the main problem. When I create a new venv `nvenv` and update pip, then install `manimce` everyting works without "errors":

```console
➜  manimce python -m venv nvenv    
➜  manimce source nvenv/bin/activate
(nvenv) ➜  manimce pip install -U pip
Collecting pip
  Using cached pip-20.2.4-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.0.2
    Uninstalling pip-20.0.2:
      Successfully uninstalled pip-20.0.2
Successfully installed pip-20.2.4
(nvenv) ➜  manimce pip install manimce
Collecting manimce
  Using cached manimce-0.1.0-py3-none-any.whl (233 kB)
Collecting pangocffi<0.7.0,>=0.6.0
  Using cached pangocffi-0.6.0.tar.gz (37 kB)
Collecting progressbar
  Using cached progressbar-2.5.tar.gz (10 kB)
Collecting rich>=4.2.1
  Using cached rich-9.2.0-py3-none-any.whl (164 kB)
Collecting watchdog
  Using cached watchdog-0.10.3.tar.gz (94 kB)
Collecting pygments
  Using cached Pygments-2.7.2-py3-none-any.whl (948 kB)
Collecting cairocffi<2.0.0,>=1.1.0
  Using cached cairocffi-1.2.0.tar.gz (70 kB)
Collecting colour
  Using cached colour-0.1.5-py2.py3-none-any.whl (23 kB)
Collecting grpcio
  Using cached grpcio-1.33.2-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB)
Collecting tqdm
  Using cached tqdm-4.51.0-py2.py3-none-any.whl (70 kB)
Collecting scipy
  Using cached scipy-1.5.4-cp38-cp38-manylinux1_x86_64.whl (25.8 MB)
Collecting grpcio-tools
  Using cached grpcio_tools-1.33.2-cp38-cp38-manylinux2014_x86_64.whl (2.5 MB)
Collecting Pillow
  Using cached Pillow-8.0.1-cp38-cp38-manylinux1_x86_64.whl (2.2 MB)
Collecting pangocairocffi<0.4.0,>=0.3.0
  Using cached pangocairocffi-0.3.2.tar.gz (21 kB)
Collecting pydub
  Using cached pydub-0.24.1-py2.py3-none-any.whl (30 kB)
Processing /home/username_0/.cache/pip/wheels/7c/6f/b3/3181c06d04ed8f428f86797384f5b4c9932692b9526b6aba21/pycairo-1.20.0-cp38-cp38-linux_x86_64.whl
Collecting numpy
  Using cached numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl (14.5 MB)
Collecting cffi>=1.1.0
  Using cached cffi-1.14.3-cp38-cp38-manylinux1_x86_64.whl (410 kB)
Collecting colorama<0.5.0,>=0.4.0
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting commonmark<0.10.0,>=0.9.0
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
Collecting typing-extensions<4.0.0,>=3.7.4
  Using cached typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting pathtools>=0.1.1
  Using cached pathtools-0.1.2.tar.gz (11 kB)
Collecting six>=1.5.2
  Using cached six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting protobuf<4.0dev,>=3.5.0.post1
  Using cached protobuf-3.14.0-cp38-cp38-manylinux1_x86_64.whl (1.0 MB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Using legacy 'setup.py install' for pangocffi, since package 'wheel' is not installed.
Using legacy 'setup.py install' for progressbar, since package 'wheel' is not installed.
Using legacy 'setup.py install' for watchdog, since package 'wheel' is not installed.
Using legacy 'setup.py install' for cairocffi, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pangocairocffi, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pathtools, since package 'wheel' is not installed.
Installing collected packages: pycparser, cffi, pangocffi, progressbar, colorama, commonmark, pygments, typing-extensions, rich, pathtools, watchdog, cairocffi, colour, six, grpcio, tqdm, numpy, scipy, protobuf, grpcio-tools, Pillow, pangocairocffi, pydub, pycairo, manimce
    Running setup.py install for pangocffi ... done
    Running setup.py install for progressbar ... done
    Running setup.py install for pathtools ... done
    Running setup.py install for watchdog ... done
    Running setup.py install for cairocffi ... done
    Running setup.py install for pangocairocffi ... done
Successfully installed Pillow-8.0.1 cairocffi-1.2.0 cffi-1.14.3 colorama-0.4.4 colour-0.1.5 commonmark-0.9.1 grpcio-1.33.2 grpcio-tools-1.33.2 manimce-0.1.0 numpy-1.19.4 pangocairocffi-0.3.2 pangocffi-0.6.0 pathtools-0.1.2 progressbar-2.5 protobuf-3.14.0 pycairo-1.20.0 pycparser-2.20 pydub-0.24.1 pygments-2.7.2 rich-9.2.0 scipy-1.5.4 six-1.15.0 tqdm-4.51.0 typing-extensions-3.7.4.3 watchdog-0.10.3
```

So wheel doesn't seem to be required as it is also not installed after the update.

```console
(nvenv) ➜  manimce pip list | grep wheel
(nvenv) ➜  manimce
```
comment