在PyCharm中使用VPython
我的物理课要求我使用VPython来制作模型等。我很喜欢把代码和物理结合在一起的想法,而且VPython整体看起来也不错,但VPython真的希望你使用他们的IDLE版本——VIDLE,作为你的开发环境。
我想在我最喜欢的Python开发环境PyCharm中使用它。如果我运行一个使用VPython模块的脚本,而这个脚本在VIDLE中可以正常工作,我就会遇到一个错误:
ImportError: No module named visual
我可以去PyCharm的项目解释器页面,在那里看起来我应该能够添加和删除模块,但我搞不清楚怎么做。如果我点击添加/安装包,它会弹出一个可以搜索的可用包列表(是来自PyPi数据库的,对吧?),但VPython不在这个列表中。
看起来VPython由三个模块组成,分别是“vis”、“visual”和“visual_common”,还会安装其他模块“numpy”(已经安装)、“FontTools”、“Polygon”和“ttfquery”。
有什么想法吗?希望这只是一些简单的问题。
3 个回答
在使用这个包之前,你需要在Pycharm里安装vpython这个包。
接下来,你可以这样写代码:from vpython import *,然后用ball = sphere()来创建一个球体。
现在你可以在python3.4中使用vpython了。按照以下步骤操作:
准备工作
首先,去http://www.lfd.uci.edu/~gohlke/pythonlibs/下载四个包:TTFQuery、FontTools、Polygon和vpython,把它们放在同一个文件夹里。
安装步骤
- 打开命令提示符(cmd)
- 输入
cd path/to/package_downloaded_directory
,把路径换成你下载包的文件夹路径 - 输入
pip install packagename.whl
,把packagename换成你下载的包的名字 - 找到文件
C:\Python34\lib\site-packages\vis\materials.py
- 用编辑器打开这个文件,然后找到第70行
- 把这两行代码注释掉,像这样:
class raw_texture(cvisual.texture): def __init__(self, **kwargs): cvisual.texture.__init__(self) # for key, value in kwargs.items(): # self.__setattr__(key, value)
- 保存修改
注意,当你用vpython写脚本时,第一行代码必须是:
from vis import *
下面是我的代码示例:
from vis import *
sphere(pos=vector(0,0,0),radius=0.5,color=color.red)
arrow(pos=vector(0.5,0,0),axis=vector(1,0,0),color=color.green)
很遗憾,你不能像安装普通的Python包那样轻松安装vpython。这个过程要复杂得多。不过,如果你想在PyCharm中开发,还是可以做到的。
首先,你需要在Windows上安装vpython。这通常会把它安装到你主要的Python安装目录下的一个包里。
你可以从这里安装 -> http://vpython.org/contents/download_windows.html
安装完成后,简单选择一个已经安装了vpython的Python版本。
如果你想创建一个虚拟环境,可以使用 --system-site-packages
这个选项来做:
$ virtualenv --help [12:51:06]
Usage: virtualenv [OPTIONS] DEST_DIR
Options:
--version show program's version number and exit
(...)
--no-site-packages DEPRECATED. Retained only for backward compatibility.
Not having access to global site-packages is now the
default behavior.
--system-site-packages
Give the virtual environment access to the global
site-packages.
(...)