coda创建虚拟环境非常方便:官方教程:https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
下面以storm_control的安装为例
查看已安装虚拟环境
安装新的虚拟环境:conda create --name myenv python=3.6
激活虚拟环境:activate myenv
安装需要包:
$ conda install --name myenv numpy pip pillow pywin32 pyserial scipy
$ conda install --name myenv tifffile -c conda-forge (https://pypi.python.org/pypi/tifffile)
$ pip install PyQt5 (https://www.riverbankcomputing.com/software/pyqt/download5/)
$ pip install PyDAQmx (https://pythonhosted.org/PyDAQmx/)
如果我们要用自己的文件,但文件又在另一个很复杂的目录上,一般来说暂时添加:
import sys
sys.path.append(something)
#something 就是你需要使用的文件路径
但一劳永逸的方法是在虚拟环境myenv/Lib\site-packages中新建.pth文件,在其中加入项目路径
E:\ketizu\paper\code\storm-control-master\
因为python在遍历已知的库文件目录过程中,如果遇见一个.pth文件,就会将文件中所记录的路径加入到sys.path设置中,于是.PTH文件指明的库也就可以被python运行环境找到了;
其pth文件放置的位置:
import site
site.getusersitepackages()
site.getsitepackages()
python setup.py install
后面这个install非常重要。。。
win10
echo %PATH%
sys.path是python搜索模块的路径集,是一个list。如果我们尝试在conda里面输入:
import sys
sys.path
输出结果:
可以看出有一个site-packages文件夹,这个文件主要是管理的第三方包的文件。
如果我们要安装自己的模块
有一个一劳永逸的方法,就是在site-packages里面添加一个pth文件(pth文件可以注释),里面写上你要添加的模块的路径,那么系统就能够凭pth搜索到。
自己安装的模块里面必须有__init__.py,
使用sys.path.apped添加临时路径,退出python后下次仍需要重新添加。
site-packages目录是第三方包和模块安装的目录。如果你手动安装你的代码,它将被安装到site-packages目录。虽然用于配置path的.pth文件必须放置在site-packages里,但它配置的路径可以是系统上任何你希望的目录。因此,你可以把你的代码放在一系列不同的目录,只要那些目录包含在.pth文件里。
当我们试图加载一个模块时,python会在指定的路径下搜索对应的.py模块,如果找不到,就会报错;
默认情况下,Python解释器会搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在sys模块的path变量中:
init.py