python - IntelliJ conda 集成

标签 python intellij-idea pip pycharm conda

我在 myFile.py 中有:

import pkg_resources
installed_packages = pkg_resources.working_set
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
                                  for i in installed_packages])
print(installed_packages_list)
import rospy

我在 ros env 中有 ros 包

(ros) $ pip list | grep rospy
rospy                         1.11.21   
rospy-message-converter       0.4.0   

如果我在设置 ros conda env 后从 IDEA 运行此文件

/home/username/anaconda3/envs/ros/bin/python /home/username/Projects/Python/myProject/myFile.py
['argparse==1.4.0', 'catkin-pkg==0.4.9', 'certifi==2018.10.15', 'docutils==0.14', 'numpy==1.15.4', 'pip==18.1', 'pyparsing==2.3.0', 'python-dateutil==2.7.5', 'python==2.7.15', 'pyyaml==3.13', 'rospkg==1.1.7', 'setuptools==40.6.2', 'six==1.11.0', 'wheel==0.32.3', 'wsgiref==0.1.2']
Traceback (most recent call last):
  File "/home/username/Projects/Python/myProject/myFile.py", line 8, in <module>
    import rospy
ImportError: No module named rospy

Process finished with exit code 1

我使用了以下配置:

enter image description here

但是,如果我在终端上运行相同的命令,它就会起作用:

在终端上,即使没有 conda activate ros:

$ /home/username/anaconda3/envs/ros/bin/python /home/username/Projects/Python/myProject/myFile.py
['actionlib==1.11.13', 'angles==1.9.11', 'argparse==1.4.0', 'base-local-planner==1.12.16', 'bondpy==1.7.20', 'camera-calibration-parsers==1.11.13', 'camera-calibration==1.12.23', 'camera-info-manager-py==0.2.3', 'capabilities==0.2.0', 'catkin-pkg==0.4.9', 'catkin==0.6.19', 'certifi==2018.10.15', 'controller-manager-msgs==0.9.7', 'controller-manager==0.9.7', 'create-dashboard==2.3.1', 'create-driver==2.3.0', 'create-node==2.3.0', 'cv-bridge==1.11.16', 'diagnostic-analysis==1.9.3', 'diagnostic-common-diagnostics==1.9.3', 'diagnostic-updater==1.9.3', 'docutils==0.14', 'dynamic-reconfigure==1.5.49', 'gazebo-plugins==2.4.16', 'gazebo-ros==2.4.16', 'gencpp==0.5.5', 'genlisp==0.4.15', 'genmsg==0.5.8', 'genpy==0.5.10', 'image-geometry==1.11.16', 'interactive-markers==1.11.3', 'kobuki-dashboard==0.4.2', 'laser-geometry==1.6.4', 'message-filters==1.11.21', 'numpy==1.15.4', 'openni2-launch==0.4.1', 'pip==18.1', 'pluginlib==1.10.7', 'pyparsing==2.3.0', 'python-dateutil==2.7.5', 'python-qt-binding==0.2.19', 'python==2.7.15', 'pyyaml==3.13', 'qt-dotgraph==0.2.33', 'qt-gui-cpp==0.2.33', 'qt-gui-py-common==0.2.33', 'qt-gui==0.2.33', 'resource-retriever==1.11.8', 'rocon-app-manager==0.7.13', 'rocon-app-utilities==0.7.13', 'rocon-apps==0.7.13', 'rocon-console==0.1.23', 'rocon-ebnf==0.1.23', 'rocon-gateway-utils==0.7.10', 'rocon-gateway==0.7.10', 'rocon-hub-client==0.7.10', 'rocon-hub==0.7.10', 'rocon-interactions==0.1.23', 'rocon-launch==0.1.23', 'rocon-master-info==0.1.23', 'rocon-python-comms==0.1.23', 'rocon-python-redis==0.1.23', 'rocon-python-utils==0.1.23', 'rocon-python-wifi==0.1.23', 'rocon-qt-library==0.7.12', 'rocon-remocon==0.7.12', 'rocon-semantic-version==0.1.23', 'rocon-uri==0.1.23', 'rosbag==1.11.21', 'rosboost-cfg==1.11.14', 'rosclean==1.11.14', 'roscreate==1.11.14', 'rosgraph==1.11.21', 'roslaunch==1.11.21', 'roslib==1.11.14', 'roslint==0.10.0', 'roslz4==1.11.21', 'rosmake==1.11.14', 'rosmaster==1.11.21', 'rosmsg==1.11.21', 'rosnode==1.11.21', 'rosparam==1.11.21', 'rospkg==1.1.7', 'rospy-message-converter==0.4.0', 'rospy==1.11.21', 'rosservice==1.11.21', 'rostest==1.11.21', 'rostopic==1.11.21', 'rosunit==1.11.14', 'roswtf==1.11.21', 'rqt-action==0.4.9', 'rqt-bag-plugins==0.4.8', 'rqt-bag==0.4.8', 'rqt-console==0.4.8', 'rqt-dep==0.4.9', 'rqt-graph==0.4.8', 'rqt-gui-py==0.4.8', 'rqt-gui==0.4.8', 'rqt-image-view==0.4.9', 'rqt-launch==0.4.8', 'rqt-logger-level==0.4.8', 'rqt-moveit==0.5.7', 'rqt-msg==0.4.8', 'rqt-nav-view==0.5.7', 'rqt-plot==0.4.8', 'rqt-pose-view==0.5.8', 'rqt-publisher==0.4.8', 'rqt-py-common==0.4.8', 'rqt-py-console==0.4.8', 'rqt-reconfigure==0.4.10', 'rqt-robot-dashboard==0.5.7', 'rqt-robot-monitor==0.5.7', 'rqt-robot-steering==0.5.9', 'rqt-runtime-monitor==0.5.7', 'rqt-rviz==0.5.7', 'rqt-service-caller==0.4.8', 'rqt-shell==0.4.9', 'rqt-srv==0.4.8', 'rqt-tf-tree==0.5.8', 'rqt-top==0.4.8', 'rqt-topic==0.4.10', 'rqt-web==0.4.8', 'rviz==1.11.19', 'sensor-msgs==1.11.10', 'setuptools==40.6.2', 'six==1.11.0', 'smach-ros==2.0.1', 'smach==2.0.1', 'smclib==1.7.20', 'tf-conversions==1.11.9', 'tf2-geometry-msgs==0.5.17', 'tf2-kdl==0.5.17', 'tf2-py==0.5.17', 'tf2-ros==0.5.17', 'tf2-sensor-msgs==0.5.17', 'tf==1.11.9', 'unique-id==1.0.5', 'warehouse-ros==0.8.8', 'wheel==0.32.3', 'world-canvas-client-py==0.1.0', 'world-canvas-server==0.1.0', 'world-canvas-utils==0.1.0', 'wsgiref==0.1.2', 'xacro==1.9.5']

那么IDEA没有执行打印的命令?它正在运行其他东西吗?为什么我看到从 IDEA 内部运行的 conda env ros 安装的软件包少得多?如何解决此问题?

我在

  • IDEA 2018.3
  • Ubuntu 14.04

更新:

我已经配置了 conda env,并像这样验证了它:

在终端上:

$ conda activate ros
(ros) $ python
Python 2.7.15 |Anaconda, Inc.| (default, Nov 13 2018, 23:04:45) 
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.executable)
/home/username/anaconda3/envs/ros/bin/python

在 IDEA > 工具 > Python 控制台上的 Python 控制台

PyDev console: starting.
Python 2.7.15 |Anaconda, Inc.| (default, Nov 13 2018, 23:04:45) 
[GCC 7.3.0] on linux2
import sys
print(sys.executable)
/home/username/anaconda3/envs/ros/bin/python

最佳答案

当您尝试在系统终端(IDEA 之外)中运行此脚本时,您是否使用相同的解释器?如果没有,请重试,但使用与 IDEA 中使用的相同的解释器。你有同样的错误吗?

如果没有,请尝试以下操作:

  • 使用相同的解释器在系统终端中运行import os
  • 运行print(os.environ['PATH'])
  • 复制结果并将其作为 PATH 环境变量添加到您的运行/调试配置

关于python - IntelliJ conda 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53634235/

相关文章:

Python并发.futures.ThreadPoolExecutor max_workers

python - numpy 2d boolean 数组计数连续真实大小

python - setup.py 中的入口 pip

python - Python3.8(Ubuntu 19.10)中的 pip 问题

python - 如何让 `pip install --editable` 运行 sdist 而不是开发?

python - IndexError : too many indices for array: array is 1-dimensional, 但在绘制网格时对 2 个进行了索引

python - 在 Django 中基于 IP 地址(国家/地区)重定向域的最佳方法

android - 在 IntelliJ IDEA 中找不到 "Sync Project with Gradle Files"按钮

android - NoSuchMethodError : java. lang.Long.hashCode

java - 如何在intellij IDE中通过maven插件添加新的azure功能