我尝试在Docker环境中使用Contact-GraspNet,其中包含预安装ROS的基础映像。有没有问题,我的形象,我已经使用它的其他目的,为ROS之前。问题是运行Contact-Graspnet的推荐方法是通过创建conda环境,当我这样做时,我的包不再构建,rospy也不工作。我想因为ros是通过apt安装的,所以应该不会有问题吧?下面是我使用的docker镜像:
...
general setup of the docker image
...
ENV PATH="/root/miniconda3/bin:$PATH"
RUN apt-get update \
&& apt-get install -y wget
RUN wget \
https://repo.anaconda.com/miniconda/Miniconda3-py38_23.3.1-0-Linux-x86_64.sh \
&& mkdir /root/.conda \
&& bash Miniconda3-py38_23.3.1-0-Linux-x86_64.sh -b
RUN echo "source activate contact_graspnet_env" >> ~/.bashrc \
&& /bin/bash -c "source ~/.bashrc"
RUN conda --version
WORKDIR /ros-ws
RUN cd src && \
git clone https://github.com/NVlabs/contact_graspnet.git
RUN cd src/contact_graspnet && conda env create -f contact_graspnet_env.yml
RUN sudo apt-get install freeglut3-dev -y
RUN /bin/bash -c "source activate contact_graspnet_env"
CMD bash
我试着在本地安装conda包,但这不允许我运行contact-graspnet,我不确定ROS。
1条答案
按热度按时间f3temu5u1#
当您激活
conda
环境时,它会将自己的目录前置到PATH
。这可能会导致ROS
出现问题。要解决这个问题,我们可以在激活
conda
环境后检查ROS
安装脚本是否来源,方法是在激活conda环境的行后添加命令,在.bashrc
中源取ROS
安装脚本,ROS
安装脚本必须类似于/opt/ros/melodic/setup.bash
。