如何将pip安装的自定义TensorFlow导入Conda环境?
嗨,我来帮你搞定这个问题!
首先得给你理清楚:你用pip安装的自定义TensorFlow 1.5.0 wheel包,默认是装在系统全局Python环境或者你之前使用的非Conda环境里的,而Conda环境是完全隔离的独立环境,所以默认情况下它识别不到外部安装的包。不过不用重新通过Conda构建安装,有两种可行的办法把已有的TensorFlow导入到你的Conda环境中:
方法一:在激活的Conda环境中直接用pip安装你的自定义wheel(推荐)
这是最稳妥、最符合Conda环境设计逻辑的方式,因为每个Conda环境都自带独立的pip工具,用它安装的包会直接归属到当前环境:
- 先在终端激活你的Conda环境:
conda activate 你的环境名称 - 接着用该环境的pip安装你的自定义wheel文件,替换成你实际的文件路径:
pip install /path/to/your-tensorflow-1.5.0-custom.whl
安装完成后,你再查看Conda环境的包列表,TensorFlow就会出现了,PyCharm也能正常识别并调用它。
方法二:将全局pip安装的TensorFlow软链接到Conda环境(不推荐,风险较高)
如果你实在不想重新安装,可以尝试通过软链接的方式把全局环境中的TensorFlow包映射到Conda环境的site-packages目录下,但这种方法可能会引发依赖版本冲突,导致后续出现奇怪的运行问题,所以仅作为备选方案:
- 先找到全局环境中TensorFlow的安装路径:打开终端(不要激活Conda环境),运行
python -c "import tensorflow; print(tensorflow.__file__)",输出的路径类似/usr/local/lib/python3.6/site-packages/tensorflow/__init__.py,对应的包目录就是去掉/__init__.py后的路径,比如/usr/local/lib/python3.6/site-packages/tensorflow/ - 激活你的Conda环境,找到该环境的site-packages路径:运行
python -c "import site; print(site.getsitepackages()[0])",输出类似/home/your-name/miniconda3/envs/your-env/lib/python3.6/site-packages - 创建软链接:
- Linux/macOS系统:
ln -s /全局的TensorFlow包目录 /Conda环境的site-packages路径/ - Windows系统:打开命令提示符(以管理员身份),运行
mklink /D "C:\Conda环境site-packages路径\tensorflow" "C:\全局的TensorFlow包目录"
- Linux/macOS系统:
另外,你提到“发现需要在n...”,如果是指GPU版本的TensorFlow需要依赖CUDA、cuDNN等库,要确保你的Conda环境能正确访问这些依赖:可以把CUDA的bin和lib路径添加到环境变量中,或者在Conda环境里安装对应版本的cuda-toolkit(注意TensorFlow 1.5.0对应CUDA 9.0、cuDNN 7.0,版本一定要匹配)。
内容的提问来源于stack exchange,提问作者Salvation Arinze
相关产品推荐
相关产品推荐

